Redis数据过期、淘汰策略

数据过期策略:

惰性删除:

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

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

定期删除:

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

定期删除有两种方式:

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

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

数据淘汰策略:

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

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

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

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

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

相关推荐
CC.GG2 小时前
【C++】二叉搜索树
java·c++·redis
only-qi4 小时前
Redis如何应对 Redis 大 Key 问题
数据库·redis·缓存
Clarence Liu7 小时前
redis学习 (1) 基础入门
数据库·redis·学习
天生励志1238 小时前
Redis 安装部署
数据库·redis·缓存
爬山算法10 小时前
Redis(169)如何使用Redis实现数据同步?
前端·redis·bootstrap
武帝为此10 小时前
【Redis 数据库介绍】
数据库·redis·缓存
铁锚10 小时前
Redis中KEYS命令的潜在风险与遍历建议
数据库·redis·缓存
爬山算法11 小时前
Redis(168) 如何使用Redis实现会话管理?
java·数据库·redis
程序员果子12 小时前
零拷贝:程序性能加速的终极奥秘
linux·运维·nginx·macos·缓存·centos
可爱の小公举12 小时前
Redis技术体系全面解析
数据库·redis·缓存