Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis EXPIREAT 命令

Redis 键(Keys) Redis 键(Keys)


EXPIREAT命令的作用和EXPIRE命令类似,都用于为key设置生存时间。不同点在于EXPIREAT命令接受的时间参数是Unix时间戳。

命令格式

EXPIREAT key timestamp

可用版本:>=1.2.0

时间复杂度:O(1)

给指定的key设置一个过去的时间戳(小于当前时间戳)时,Redis会立即删除掉相应的key。

EXPIREAT是为了在AOF持久模式下,将key的相对过期时间转换为绝对时间戳而引入的。当然,你也可以将其用作在未来某一时间点内相关key过期失效。

命令参数

  • timestamp:指定key在指定的时间戳过期,精度到秒。

命令返回值

EXPIREAT命令返回有2种情况:

  • 返回1,当设置成功时。
  • 返回0,当指定的key不存在时。

示例

redis> SET mykey HongKong 
OK
redis> EXPIREAT mykey 1            # 过期时间设置成功,返回1
(integer) 1
redis> GET mykey                   # 过期时间为过去时间,所以该key被删除
(nil)
redis> EXPIREAT mykey 1539919200   # key不存在,过期时间设置失败,返回0
(integer) 0
redis> SET mykey HongKong
OK
redis> EXPIREAT mykey 1539919200
(integer) 1
redis> TTL mykey
(integer) 104
redis> TTL mykey
(integer) 57
redis> TTL mykey                   # key到过期时间戳后过期
(integer) -2
redis> GET mykey
(nil)