Redis数据过期、淘汰策略

数据过期策略:

惰性删除:

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

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

定期删除:

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

定期删除有两种方式:

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

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

数据淘汰策略:

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

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

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

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

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

相关推荐
NO.102441 分钟前
本地缓存怎么在分布式环境下保持一致性
分布式·缓存
爬山算法2 小时前
Redis(63)Redis的Lua脚本如何使用?
redis·junit·lua
心态特好3 小时前
从缓存到分库分表:MySQL 高并发海量数据解决方案全解析
数据库·mysql·缓存
二十三之歌4 小时前
Redis 中文学习手册
数据库·redis·学习
在云上(oncloudai)6 小时前
Amazon ElastiCache 全解析:打造高性能的智能缓存架构
缓存·架构
Jabes.yang6 小时前
Java面试大作战:从缓存技术到音视频场景的探讨
java·spring boot·redis·缓存·kafka·spring security·oauth2
朝九晚五ฺ8 小时前
【Redis学习】持久化机制(RDB/AOF)
数据库·redis·学习
怪兽201416 小时前
什么是 Redis?
java·数据库·redis·缓存·面试
wangmengxxw17 小时前
Redis概述
数据库·redis·缓存
摇滚侠18 小时前
Spring Boot 3零基础教程,Spring Boot 日志的归档与切割,笔记22
spring boot·redis·笔记