- 过期策略
Redis 的过期策略就是指当Redis中缓存的Key过期了,Redis如何处理的。
1.定时过期:每个设置过期时间的 Key 创建定时器,到过期时间立即清除。内存友好,CPU不友好
2.惰性过期:访问Key时判断是否过期,过期则清除。CPU友好内存不友好
3.定期过期:隔一定时间,expires字典中扫描一定数量的Key,清除其中已过期的Key。内存和CPU资源达到最优的平衡效果
- 内存淘汰机制
内存淘汰机制就可以保证在redis内存在占用过高的时候,去进行内存淘汰,也就是删除部分key,
保证redis的内存占用率不会过高。Redis目前共提供了8种内存淘汰机制。
no-eviction:新写入操作会报错。
allkeys-lru:移除最近最少使用的key,这个是最常用的。
allkeys-random:随机移除某些 key。
allkeys-lfu:移除最不经常(最少)使用的key。
volatile-lru:在设置了过期时间的key中,移除最近最少使用的key。
volatile-random:在设置了过期时间的key中,随机移除某些key 。
volatile-lfu:在设置了过期时间的key中,移除最不经常(最少)使用的key。
volatile-ttl:在设置了过期时间的键中,有更早过期时间的 key 优先移除。