redis内存淘汰策略和过期删除策略

-------redis内存淘汰策略-------

no-evition -> 从不过期,内存不够时,在进行写入操作时,只返回错误
allkeys-lru ->  从所有key中,根据lru算法,回收最近最少使用的key
volatile-lru ->  从设置过期时间的key集合中,根据lru算法(最近最少用到)回收key
volatile-lfu -> 从设置过期时间的key集合中,使用近似LFU算法,淘汰最不经常使用的key
allkeys-lfu -> 从所有key中,使用近似LFU算法,淘汰最不经常使用的key
volatile-random -> 从设置过期时间的key集合中,随机回收key
allkeys-random -> 从所有key中,随机回收key
volatile-ttl -> 从设置过期时间的集合中,删除最接近过期的key

分为四类: LRU,LFU,ttl,random

 

-------redis过期删除策略-------

1,定时删除:在设置键的过期时间的同时,创建一个timer,让定时器在键的过期时间到达时,立即执行对键的删除操作。(主动删除)
2,定期删除:每隔一段时间就对数据库进行一次检查,删除里面的过期键。(主动删除)
3,惰性删除:放任过期键不管,但是每次从键空间中获取键时,都检查取到的键是否过期,如果过期就删除,如果没过期就返回该键。(被动删除)

 

posted @ 2020-06-11 16:07  alenblue\own  阅读(181)  评论(0编辑  收藏  举报