expire是设置redis过期时间的命令,需要注意的点有以下几点
expire设置过期时间的单位是秒,如设置name的过期时间为1000秒
expire name 1000
超过时间后会自动删除key,但是不一定是立即删除,因为redis的过期策略是惰性删除和定期删除的策略。
超过时间以后,所有会改变此key的值都会立即触发对key的删除操作,例如:del,set,getset命令;另一种删除方式就是定期删除策略即redis会定期检查过期的key,然后统一删除。
persist命令可以清除超时,让key变成一个永久的key
rename命令,realName这个key原来就不存在,会将原来的key的过期时间转换到新的key上,算是移花接木吧!如下,那么realName的过期时间是5秒;假如realName这个key原来就有,那么realName会被nickName完全覆盖,不管realName原来是永久key还是过期key。
expire nickName 10
-- 期间过了5秒钟
rename nickName realName
expire设置的过期时间是与电脑设备的时钟相关的,比如你设置某key的过期时间为1000,但是在1000之内的时间范围内,你修改了电脑的时间为2000之后,那么此key会立即过期。所以redis的过期时间不是要持续多长时间,而是和电脑时钟相关联。