长沙建站做企业网站公司,房屋和建设工程信息平台,中国建设银行属于什么类型网站,大连做网站 智域4 设置键的生存时间或过期时间
通过EXPIRE命令或者PEXPIRE命令#xff0c;客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间#xff08;TimeToLive#xff0c;TTL#xff09;#xff0c;在经过指定的秒数或者毫秒数之后#xff0c;服务器就会自动删除生存时间…4 设置键的生存时间或过期时间
通过EXPIRE命令或者PEXPIRE命令客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间TimeToLiveTTL在经过指定的秒数或者毫秒数之后服务器就会自动删除生存时间为0的键
127.0.0.1:6379 set test test
OK
127.0.0.1:6379 expire test 5
(integer) 1
127.0.0.1:6379 get test //5秒内
test
127.0.0.1:6379 get test //5秒后
(nil)注意 SETEX命令可以在设置一个字符串键的同时为键设置过期时间因为这个命令是一个类型限定的命令只能用于字符串键所以本章不会对这个命令进行介绍但SETEX命令设置过期时间的原理和本章介绍的EXPIRE命令设置过期时间的原理是完全一样的。 与EXPIRE命令和PEXPIRE命令类似客户端可以通过EXPIREAT命令或PEXPIREAT命令以秒或者毫秒精度给数据库中的某个键设置过期时间expiretime。这时过期时间是一个UNIX时间截当键的过期时间来临时服务器就会自动从数据库中删除这个键
redis SET key value
OKredis EXPIREAT key 1377257300
integer1redis TIME
101377257296
2296543redis GET key //1377257300之前
valueredis TIME
113772573031
2230656redisGET key //1377257300之后
ni1TTL命令和PTTL命令接受一个带有生存时间或者过期时间的键返回这个键的剩余生存时间也就是返回距离这个键被服务器自动删除还有多长时间
redis SET key value
OKredis EXPIRE key 1000
integer1redis TTL key
integer997redisSET another_key another_value
OKredis TIME
11377333070
2761687redis EXPIREAT another_key 1377333100
integer1redis TTL another_key
inteqer104.1 设置过期时间
Redis有四个不同的命令可以用于设置键的生存时间键可以存在多久或过期时间键什么时候会被删除
EXPIRE key tl命令用于将键key的生存时间设置为ttl秒。PEXPIRE key ttl命令用于将键key的生存时间设置为ttl毫秒。EXPIREAT key timestamp命令用于将键key的过期时间设置为timestamp所指定的秒数时间截。PEXPIREAT key timestamp命令用于将键key的过期时间设置为timestamg所指定的毫秒数时间截。
虽然有多种不同单位和不同形式的设置命令但实际上EXPIRE、PEXPIRE、EXPIREAT三个命令都是使用PEXPIREAT命令来实现的无论客户端执行的是以上四个命令中的哪个经过转换之后最终的执行效果都和执行PEXPIREAT命令一样。
首先EXPIRE命令可以转换成PEXPIRE命令
def EXPIRE(keyttl_in_sec):# 将TTL从秒转换成毫秒ttl_in ms sec_to_ms(ttl_in_sec)PEXPIRE(keyttlinms)接着PEXPIRE命令又可以转换成PEXPIREAT命令
def PEXPIRE(keyttl_in ms)# 获取以毫秒计算的当前UNIX时间戳now_ms get_current_unix_timestamp_in_ms()#当前时间加上TTL得出毫秒格式的键过期时间PEXPIREAT(keynow_msttl_in_ms)并且EXPIREAT命令也可以转换成PEXPIREAT命令
def EXPIREAT(key,expire_time_in_sec):# 将过期时间从秒转换为毫秒PEXPIREEXPIREATexpire_time_in_ms sec_to_ms(expire_time_in_sec)PEXPIREAT(key, expire_time in ms)最终EXPIRE、PEXPIRE和EXPIREAT三个命令都会转换成PEXPIREAT命令来执行如图9-11所示 4.2
106页