【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

面试题:

相关推荐
2401_891409263 小时前
量化数据13:港股分钟K线、Level2逐笔Tick、十档盘口和港股通历史数据的批量提取
数据库
w-w0w-w9 小时前
SQL注入
网络·数据库·sql
tianyuanwo9 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼9 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
我不会起名字3229 小时前
Redis 从 0 到 1(十七):订单 30 分钟不支付自动关闭——ZSet 延迟队列 Go 实现
redis·go·延迟队列·zset·订单
IvorySQL9 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
幽灵诶11 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河11 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
利威尔xu11 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
宇宙无敌暴龙战士66611 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发