Redis数据过期、淘汰策略

数据过期策略:

惰性删除:

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

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

定期删除:

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

定期删除有两种方式:

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

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

数据淘汰策略:

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

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

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

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

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

相关推荐
典孝赢麻崩乐急8 小时前
Redis复习------跳表
数据库·redis·缓存
✿ ༺ ོIT技术༻8 小时前
Redis:Redis背景、特性、客户端及单线程模型
数据库·redis·缓存
程序员阿鹏8 小时前
如何保证写入Redis的数据不重复
java·开发语言·数据结构·数据库·redis·缓存
斯普信专业组9 小时前
Redis Cluster 集群化部署全流程指南:从源码编译到容器化
数据库·redis·缓存
Swift社区10 小时前
LeetCode 460 - LFU 缓存
算法·leetcode·缓存
哈里谢顿10 小时前
redis基础面试题
redis
全栈工程师修炼指南12 小时前
Nginx | ngx_cache_purge 模块:实现清除特定上游服务(后端)响应缓存条目
运维·nginx·缓存
对牛乱弹琴的秦始皇12 小时前
一次 STS 缓存优化引发的 Android 视频上传“分片权限”问题复盘
redis·android-studio
我爱学习好爱好爱12 小时前
Prometheus监控栈 监控Springboot2+Vue3+redis项目
数据库·redis·prometheus
czlczl2002092513 小时前
SpringBoot自定义Redis
spring boot·redis·后端