Redis过期策略
redis的keys有俩种过期策略:被动和主动。
过期时间
如果没有设置过期时间,正常情况下,key一直存在,除非使用命令显示删除,例如DEL。
EXPIRE指定过期时间,如果过期的key执行EXPIRE操作也会更新过期时间。
过期时间和计算机时间有关,误差在0-1毫秒之间,保持计算机时间的精准。
被动过期
当客户端访问redis的时候,key会被发现有没有过期。
主动过期
有些key一直不被访问,Redis每秒10次做的事情 :
-
测试随机的20个keys进行相关过期检测。
-
删除所有已经过期的keys。
-
如果有多于25%的keys过期,重复步奏1。
复制AOF文件如何处理过期
主从模式下,slaver并不会主动过期key,而是等master执行DEL命令追到到数据集里面。