Redis中键值过期操作示例详解中键值过期操作示例详解
主要给大家介绍了关于Redis中键值过期操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis具有一定的
参考学习价值,需要的朋友们下面来一起学习学习吧
1.过期设置过期设置
Redis 中设置过期时间主要通过以下四种方式:
expire key seconds:设置 key 在 n 秒后过期;
pexpire key milliseconds:设置 key 在 n 毫秒后过期;
expireat key timestamp:设置 key 在某个时间戳(精确到秒)之后过期;
pexpireat key millisecondsTimestamp:设置 key 在某个时间戳(精确到毫秒)之后过期;
下面分别来看以上这些命令的具体实现。
1))expire::N 秒后过期秒后过期
127.0.0.1:6379> set key value
OK
127.0.0.1:6379> expire key 100
(integer) 1
127.0.0.1:6379> ttl key
(integer) 97
其中命令 ttl 的全称是 Time To Live 表示此键值在 n 秒后过期。例如,上面的结果 97 表示 key 在 97s 后过期。
2))pexpire::N 毫秒后过期毫秒后过期
127.0.0.1:6379> set key2 value2
OK
127.0.0.1:6379> pexpire key2 100000
(integer) 1
127.0.0.1:6379> pttl key2
(integer) 94524
其中 pexpire key2 100000 表示设置 key2 在 100000 毫秒(100秒)后过期。
3))expireat:过期时间戳精确到秒:过期时间戳精确到秒
127.0.0.1:6379> set key3 value3
OK
127.0.0.1:6379> expireat key3 1573472683
(integer) 1
127.0.0.1:6379> ttl key3
(integer) 67
其中 expireat key3 1573472683 表示 key3 在时间戳 1573472683 后过期(精确到秒),使用 ttl 查询可以发现在 67s 后 key3 会过期。
小贴士:在 Redis 可以使用 time 命令查询当前时间的时间戳(精确到秒),示例如下:
127.0.0.1:6379> time
1) "1573472563"
2) "248426"
4))pexpireat:过期时间戳精确到毫秒:过期时间戳精确到毫秒
127.0.0.1:6379> set key4 value4
OK
127.0.0.1:6379> pexpireat key4 1573472683000
(integer) 1
127.0.0.1:6379> pttl key4
(integer) 3522
其中 pexpireat key4 1573472683000 表示 key4 在时间戳 1573472683000 后过期(精确到毫秒),使用 ttl 查询可以发现在 3522ms 后 key4 会过
期。
5)字符串中的过期操作)字符串中的过期操作
字符串中几个直接操作过期时间的方法,如下列表:
set key value ex seconds:设置键值对的同时指定过期时间(精确到秒);
set key value ex milliseconds:设置键值对的同时指定过期时间(精确到毫秒);
setex key seconds valule:设置键值对的同时指定过期时间(精确到秒)。
实现示例如下:
① set key value ex seconds
127.0.0.1:6379> set k v ex 100
OK
127.0.0.1:6379> ttl k
(integer) 97
② set key value ex milliseconds
127.0.0.1:6379> set k2 v2 px 100000
OK
127.0.0.1:6379> pttl k2
(integer) 92483
评论0