Redis中有三种主要的过期删除策略:
1.定时删除:
在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作。对内存最友好,对CPU时间最不友好。
2.定期删除策略:
Redis默认每秒钟会随机检查一些设置了过期时间的key,如果发现过期了,就会删除这个key。这种策略的优点是对CPU和内存的消耗比较均衡,缺点是可能会造成一些过期key没有被及时删除。
3.惰性删除策略:
当客户端尝试访问一个key时,Redis会先检查这个key是否过期,如果过期了就会删除这个key。这种策略的优点是能够确保过期key及时被删除,缺点是对CPU和内存的消耗比较不均衡,如果有大量的过期key没有被访问,就会占用过多的内存。