Redis缓存-数据淘汰策略

数据淘汰策略就是,当redis内存满的时候,此时在向redis添加新的key,那么redis会按照某一种规则将内存中的数据删掉,这种删除数据的规则成为内存的淘汰策略。

redis支持8中淘汰策略

1.noeviction,这种是redis默认的情况,淘汰任何数据,如果进行插入,就会报错。

2.volatile-ttl 对设置了TTL的key,比较剩余时间,时间越短越优先淘汰

3.allkeys-random 对全体key,随机淘汰

4.volatile-random 对设置了TTL的key,随机淘汰

5.allkeys-lru:对全体key,基于LRU算法进行淘汰。(下面会说LRU是什么意思)

  1. volatile-lru 对设置TTL的key,基于LRU算法进行淘汰

7.allkeys-lfu 对全体key,基于LFU算法进行淘汰(LFU下面也会说)

8.volatile-lfu 对设置TTL的key,基于LFU算法进行淘汰。

下面就说一下LRU和LFU

LRU:最近使用最少,用当前时间减去最后一次访问时间,这个值越大,则淘汰优先级越高。

LFU:最少使用频率,就是点击的次数,会统计每个key的访问频率,值越小淘汰优先级越高。

一些业务场景使用建议

1.如果有明显的冷热区分,建议使用allkeys-lru,为什么使用lfu呢,如果某个数据仅仅是在某个时间段内访问量比较高,其他时间就很少,所以就不能用lfu。

2.业务中数据访问量差别不大,没有冷热分离,建议使用allkeys-random

3.如果业务中有置顶需求,可以使用volatile-lru,同时置顶数据不设置过期时间,这些数据就不会被删除,会淘汰其他过期时间的数据。

4.业务中有短时间高频访问的数据,可以使用allkeys-lfu或者volatile-lfu策略。

相关推荐
这个DBA有点耶3 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G3 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠3 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz3 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218613 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
全栈弄潮儿²⁰²⁴3 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安3 天前
MySQL-触发器
数据库·mysql