redis之expire命令详解

 

expire是设置redis过期时间的命令,需要注意的点有以下几点

  1. expire设置过期时间的单位是秒,如设置name的过期时间为1000秒

        expire name 1000 
  2. 超过时间后会自动删除key,但是不一定是立即删除,因为redis的过期策略是惰性删除和定期删除的策略。

  3. 超过时间以后,所有会改变此key的值都会立即触发对key的删除操作,例如:del,set,getset命令;另一种删除方式就是定期删除策略即redis会定期检查过期的key,然后统一删除。

  4. persist命令可以清除超时,让key变成一个永久的key

  5. rename命令,realName这个key原来就不存在,会将原来的key的过期时间转换到新的key上,算是移花接木吧!如下,那么realName的过期时间是5秒;假如realName这个key原来就有,那么realName会被nickName完全覆盖,不管realName原来是永久key还是过期key。

    expire nickName 10
    期间过了5秒钟,执行以下命令,realName无论之前有没有过期时间,都会被覆盖为剩下的5秒时间
    rename nickName realName
  6. expire设置的过期时间是与电脑设备的时钟相关的,比如你设置某key的过期时间为1000,但是在1000之内的时间范围内,你修改了电脑的时间为2000之后,那么此key会立即过期。所以redis的过期时间不是要持续多长时间,而是和电脑时钟相关联。

posted @ 2019-04-16 15:55  叶落kiss  阅读(1137)  评论(0编辑  收藏  举报