利用Redis设置有效期的指令技巧(redis设置有效期命令)

Redis 是一种高性能的 Key-Value 内存数据库,可以同时存储字符串和整型数据,也可以用来缓存着重要的网页元素,避免重复加载。有时候,你有一个数据需要存入 Redis,但是是有有效期的,这时候某个数据的有效期很重要。本文介绍如何使用 Redis 的 EXPIRE 和 EXPIREAT 指令来设置一个数据的有效期。

Redis 的 EXPIRE 是设置 Key 的有效期,当设定时间过期时,Redis 会自动为该 Key 提供过期时间。EXPIRE 指令,需要提供 Key 和过期时间,单位为秒。语法如下:

EXPIRE Key 秒

示例,我们将 mykey 设置为 10 秒

127.0.0.1:6379> SET mykey message

OK

127.0.0.1:6379> EXPIRE mykey 10

(integer) 1

上面的命令表示为 mykey 设置 10 秒的有效期,假设当前时间是 T0 ,那么 mykey 将会在 T0 + 10 秒时过期掉。

另外一个指令 EXPIREAT,比 EXPIRE 要复杂一点,因为它要求提供一个 unix 时间戳。换言之,它使用的是绝对时间,而不是和当前的相对时间。EXPIREAT 指令的格式如下:

EXPIREAT Key timestamp

timestamp 是 UNIX 时间戳,即一个从1970年1月1日00:00:00 GMT开始计数的秒数。下面是使用 EXPIREAT 指令的示例:

127.0.0.1:6379> SET mykey message

OK

127.0.0.1:6379> EXPIREAT mykey 1528713720

(integer) 1

这意味着 mykey 将在 2018/6/9 03:02:00 过期。

总结:Redis 通过 EXPIRE 和 EXPIREAT 两个指令,可以很方便的为一个 Key 设置有效期。其中 EXPIRE 是相对于当前时间的相对有效期,而 EXPIREAT 是提供绝对的 unix 时间戳点。通过设置有效期,可以避免 Redis 大量数据过期无用,以节省一定的内存空间。


数据运维技术 » 利用Redis设置有效期的指令技巧(redis设置有效期命令)