Redis如何知道一个key是否过期?
利用两个Dict,一个记录key-value键值对,一个记录key-ttl键值对。
Redis中key的ttl到期了是否会立即删除?
惰性删除:当ttl到期之后,当访问一个key的时候,检查该key的存活时间,如果已经过期才执行删除;
周期删除:顾名思义就是设置一个定时任务,周期性的抽样删除部分过期的key;
redis会设置一个定时任务,按照指定的频率来执行过期key清理,模式为slow;
b. redis的每个事件循环前调用beforeSleep函数,执行过期key清理,模式为Fast。