Redis是一款高性能键值存储系统,能够支持保存数据、缓存等多种应用场景,特别适用于海量数据的高效处理。Redis键值存储系统跟传统的关系型数据库存储方式有很大的区别。Redis采用的是内存存储,数据可以被存放在内存中,并且支持将数据保存到硬盘上进行持久化存储。Redis支持各种不同的数据结构,如String、Hash、List等。
Redis设置Key过期时间
Redis提供了给key设置过期时间的特性,即在定义key时指定其过期时间,当key的过期时间到期时,Redis会自动将其删除。在实际应用场景中,我们经常需要将某些key设置为一个时限,比如验证码、token等。下面介绍一下在Redis中如何设置key的过期时间。
Redis中针对设置key过期时间有两种方式,它们分别是:1.通过redis-cli工具设置key的过期时间。2.通过编程语言访问Redis API设置key的过期时间。
1.通过redis-cli工具设置key的过期时间通过redis-cli工具设置key的过期时间非常简单,只需要在定义key时加上 EX 参数即可,EX 代表在多少秒后过期。命令格式如下:
> SET key value EX seconds
举个例子,设置 key1 在 60 秒后过期:
> SET key1 "value1" EX 60
在设置过期时间后,通过TTL命令查看指定key的剩余过期时间。TTL意为time to live,表示key的剩余生存时间。命令格式如下:
> TTL key
查看 key1 剩余生存时间:
> TTL key150
2.通过编程语言访问Redis API设置key的过期时间在编程语言中使用 Redis API 设置 key 的过期时间也非常简单,只需要调用相应的函数即可。以下是 Python 代码示例:
pythonimport redis# 创建 Redis 连接对象r = redis.Redis(host='localhost', port=6379, db=0)
# 设置 key 的值r.set('key1', 'value1')
# 设置 key 的过期时间为 60 秒r.expire('key1', 60)
以上代码设置了 key1 的过期时间为 60 秒,当 key1 过期后就会被自动删除。PS:当设置过期时间的 key 被修改时,它的过期时间也会被重置。
Key存在则更新
在 Redis 中,当我们使用 SET 命令设置一个已经存在的 key 时,该 key 的值就会被更新。例如,我们可以通过下面的命令将 key1 的值修改为 value2:
> SET key1 "value2"
如果我们想要在更新这个 key 的同时设置过期时间,可以使用以下两条命令的组合:
shell# 将 key1 的值设为 value2,并设置过期时间为 60 秒> SET key1 "value2"> EXPIRE key1 60
以上命令先使用 SET 命令将 key1 的值设置为 value2,然后使用 EXPIRE 命令设置 key1 的过期时间为 60 秒。简单来说,Redis 在 KEY 存在时 SET 进去,就等价于更新这个 KEY 的值,同时更新它的过期时间。