Redis 的回收策略(淘汰策略)?


volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最

少使用的数据淘汰

volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过

期的数据淘汰

volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意

选择数据淘汰

allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰

allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰

no-enviction(驱逐):禁止驱逐数据

注意这里的 6 种机制,volatile 和 allkeys 规定了是对已设置过期时间的数据集淘

汰数据还是从全部数据集淘汰数据,后面的 lru、ttl 以及 random 是三种不同的

淘汰策略,再加上一种 no-enviction 永不回收的策略。

使用策略规则:

1、如果数据呈现幂律分布,也就是一部分数据访问频率高,一部分数据访问频率

低,则使用 allkeys-lru

2、如果数据呈现平等分布,也就是所有的数据访问频率都相同,则使用

allkeys-random


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM