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

相关推荐
Zongsoft6 分钟前
自适应可变速率ID生成器的设计与实践(视频)
redis·uuid·分布式id·snowflake·sequence
闲人编程9 分钟前
商品管理与库存系统
服务器·网络·数据库·python·api·数据模型·codecapsule
Ahtacca13 分钟前
解决服务间通信难题:Spring Boot 中 HttpClient 的标准使用姿势
java·spring boot·后端
宋情写16 分钟前
JavaAI05-Chain、MCP
java·人工智能
h***381816 分钟前
maven导入spring框架
数据库·spring·maven
C++chaofan23 分钟前
Java 并发编程:synchronized 优化原理深度解析
java·开发语言·jvm·juc·synchronized·
樱花味的小奶牛25 分钟前
DECLARE CURSOR 才允许使用 FOR UPDATE 子句
数据库·sql
雁凡彡27 分钟前
mybatis-plus中sqlserver 查询数组中指定位置前的数据
数据库·sqlserver·mybatis
better_liang30 分钟前
每日Java面试场景题知识点之-Docker容器化部署
java·docker·微服务·devops·容器化·企业级开发
悟空码字31 分钟前
SpringBoot整合Kafka,实现高可用消息队列集群
java·spring boot·后端