Redis淘汰策略

2020-04-19  本文已影响0人  Muscleape

Redis有8种淘汰策略(常规的+Redis4.0新增的2种lfu策略)

名词解释

lru(less recently used)最近最少使用
ttl(time to live)存活时间
lfu(least frequency use)最少使用频率

淘汰策略

1、 no-eviction(默认策略):不淘汰策略,超过最大内存则返回错误信息;
2、 volatile-lru:已经设置过期时间的KV集中,优先淘汰最近最少使用的;
3、 volatile-ttl:已经设置过期时间的KV集中,优先淘汰剩余存活时间短的;
4、 volatile-random:已经设置过期时间的KV集中,随机选择数据淘汰;
5、 allkeys-lru:所有KV集中,优先淘汰最近最少使用的;
6、 allkeys-random:所有KV集中,随机选择需要淘汰的数据;
新增的两种lfu策略:统计访问频率,将访问频率最少的淘汰掉;
7、 volatile-lfu
8、 allkeys-lfu

lru和lfu的区别

时间:t1~~~~~t2~~~~~t3~~~~t4
~~~~A~A~A~~A~A~A~A~A~~A~~~
~~~~B~~~~~~B~~~~~~B~~~~~~B~

在上图中,分别表示key A和B的使用情况,在t4时刻根据lru和lfu两种淘汰策略:

上一篇下一篇

猜你喜欢

热点阅读