Redis数据过期、淘汰策略

数据过期策略:

惰性删除:

设置该key过期时间后,我们不去管它,当需要该key时,我们在检查其是否过期,如果过期,我们就删掉它,反之返回该key。

这种方式对cpu友好(只在用的时候判断要不要删除不用一直判断),对内存不友好(过期的key一直存在内存中)

定期删除:

每隔一段时间,我们就对一些key进行检查,删除里面过期的key(从一定数量的数据库中取出一定数量的随机key进行检查,并删除其中的过期key)。

定期删除有两种方式:

优点:可以通过限制删除操作执行的时长和频率来减少删除操作对CPU 的影响。另外定期删除,也能有效释放过期键占用的内存。 缺点:难以确定删除操作执行的时长和频率。

Redis实际上是两种策略配合使用的!!!

数据淘汰策略:

  • 内存满的时候不能写入(默认)

  • 剩余存活时间最小的被淘汰

  • 两种随机淘汰:全体key随机淘汰、设置了存活时间的key随机淘汰

  • 两种LRU淘汰:全体keyLRU淘汰、设置了存活时间的keyLRU淘汰

  • 两种LFU淘汰:全体keyLFU淘汰、设置了存活时间的keyLFU淘汰

相关推荐
SHENGWEI胜为23 分钟前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
夕除3 小时前
redis--数据类型 string list
redis
一条泥憨鱼3 小时前
【Redis | 黑马点评】分布式锁;Lua脚本;Redisson与看门狗 |源码万字详解
redis·分布式·lua
stark张宇5 小时前
库存扣减的“锁”事:悲观锁、乐观锁、分布式锁
redis·分布式·mysql
AAASilverwolf5 小时前
OpenAI 新增 12 小时提示缓存:跨小时任务能省多少?
人工智能·gpt·缓存·api
Sayuanni%39 小时前
Redis(初阶)
数据库·redis·缓存
未秃头的程序猿9 小时前
一次重复扣款的复盘:分布式锁加错了维度,比不加锁更危险
java·redis·后端
XiYang-DING10 小时前
P5528.带过期时间的 LRU 缓存
java·开发语言·缓存
2301_7779983415 小时前
ARP协议进阶:ARP缓存、RARP与ARP欺骗原理解析
linux·服务器·网络·网络协议·缓存
hweiyu001 天前
Redis命令:LLEN
redis·缓存