1Expire key (以秒为单位)
Expireat key timestamp (以时间戳为单位)
Pexpire key(以毫秒为单位)
作用:给key设置保质期(以expire为例,另外两个一致)
PTTL key (以毫秒为单位返回key的剩余的过期时间)
TTL key (以毫秒为单位返回key的剩余生存时间)
(当key不存在时,返回-2,当key存在但没有设置剩余生存时间时,返回-1,否则以秒为单位)
不存在的key
未设置有效期时间
Persist key((persist移除key的过期时间,key将持久保持)
看到这里相信大家,肯定会意识到这样会非常浪费Redis的内存,大大降低了其可用性,所以为了解决这一问题,Redis有以下三种删除过期Key的策略。
下面的定时删除和定期删除都属于主动过期,
惰性删除则属于被动过期,扫描将触发key的被动过期。
- 定时删除:在设置key的过期时间时会创建一个定时器,当定时器时间到了时,会立马删除过期的key
- 惰性删除:这个就比较懒惰,和HIbernate或Mybatis的懒加载机制类似,key过期的时候,不会立马删除,等到调用该过期key的时候才会将该key删除(处理过程:get>判断是否过期>执行删除>返回空nil)
- 定期删除:和定时删除有点像,不同的是定期删除是长期循环的,而定时是一次性的,每隔固定的时间段就会检查是否有过期的key,若存在,则删除
另外,以上的三种都是需要自己设置的,
2dump key
作用:序列化给定的key,返回被序列化之后的值
3Exists key
作用:顾名思义,用来检查该key是否存在,1存在0不存在