【Redis】Redis数据过期策略、数据淘汰策略

数据过期策略

首先,我们要知道Redis的数据过期策略是惰性删除和定期删除结合使用。

面试题:

惰性删除

定期删除

数据淘汰策略

Redis支持8种数据淘汰策略:
noeviction:不淘汰任何key,当内存满时,不写入任何新数据。默认采用这种方式
volatile-ttl:对设置了 ttl 的 key,比较 key 剩余的 ttl 的值,ttl 越小越先被淘汰
allkey-random:所有的 key 随机删除
volatile-random:对设置了 ttl 的 key 随机删除
allkey-lru:对所有的 key 采用LRU算法进行淘汰
volatile-lru:对设置了 ttl 的 key 采用LRU算法进行淘汰
allkey-lfu:对所有的 key 采用LFU算法进行淘汰
volatile-lru:对设置了 ttl 的 key 采用LFU算法进行淘汰

LRU:全称 Least Recently Used,即最近最少使用。当前时间减去最后一次访问时间,这个值越大,则被先淘汰。

例如:key1 是 3s 前访问,key2 是 9s 前访问,那么删除的是 key2
LFU:全称 Least Frequently Used,即最少频率使用。统计每个 key 访问频率,值越小被先淘汰

例如:key1 最近 5s 访问 4 次,key2 最近 5s 访问 9 次,那么删除 key1

面试题:

相关推荐
超级种码9 分钟前
Redis:Redis持久化机制
数据库·redis·bootstrap
阿里-于怀15 分钟前
AgentScope AutoContextMemory:告别 Agent 上下文焦虑
android·java·数据库·agentscope
数据库那些事儿19 分钟前
从极速复制“死了么”APP,看AI编程时代的技术选型
数据库
岁岁种桃花儿23 分钟前
MySQL知识汇总:讲一讲MySQL中Select语句的执行顺序
数据库·mysql·database
言之。1 小时前
Django原子请求
数据库·django·sqlite
Codeking__1 小时前
Redis初识——Redis的基本特性
数据库·redis·缓存
零度@1 小时前
2026 轻量级消息队列 Redis Stream
前端·redis·bootstrap
霖霖总总1 小时前
[小技巧29]Batched Key Access:MySQL JOIN 性能优化的关键技术
数据库·mysql·性能优化
Gobysec2 小时前
Goby 漏洞安全通告|MindsDB /api/sql/query 未授权访问漏洞(CVE-2025-68472)
数据库·sql·安全
m0_748245922 小时前
SQLite 数据类型概述
java·数据库·sqlite