【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

面试题:

相关推荐
2201_761040596 分钟前
Golang怎么安全关闭channel_Golang channel关闭教程【通俗】
jvm·数据库·python
jerryinwuhan7 分钟前
基于结构可控性的给水管网传感器布点选择算法
数据库·算法
m0_493934537 分钟前
Redis怎样合并多天访客数据_通过PFMERGE指令聚合HyperLogLog记录
jvm·数据库·python
tjc199010057 分钟前
bootstrap怎么实现响应式的文章瀑布流布局
jvm·数据库·python
旺王雪饼 www7 分钟前
MySQL常用查询语句
数据库·sql
qq_1898070311 分钟前
SQL嵌套查询与物化视图_提升读性能的组合策略
jvm·数据库·python
2401_8323655211 分钟前
如何用消息广播机制让 Shared Worker 通知所有连接的页面
jvm·数据库·python
u01091476012 分钟前
如何用 bubbles 参数让自定义事件支持在 DOM 树中冒泡
jvm·数据库·python
克里斯蒂亚诺更新17 分钟前
mysql添加一个用户
数据库·mysql
Greyson117 分钟前
如何解决变异表报错_ORA-04091复合触发器COMPOUND应用
jvm·数据库·python