redis 缓存淘汰策略配置
2021/11/4 19:14:07
本文主要是介绍redis 缓存淘汰策略配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
而一旦 redis 内存超出物理内存限制时,内存的数据就会开始和磁盘频繁的交换(swap);
这种涉及到 IO 操作机制的操作,会让 redis 的性能急剧下降。redis 访问量本来就十分频繁,存取效率大幅度降低是很致命的。
生产环境中我们是不允许 redis 出现 swap 行为的。所以一般会限制最大的使用内存,redis 提供了配置参数 maxmemory 规定最大的使用内存
maxmemory 1000KB
maxmemory 100MB
maxmemory 1GB
maxmemory 0 # 表示不做限制,一般不会用
实际内存超出了 maxmemory 时,redis(5.0.8) 提供了八种淘汰策略(maxmemory-policy)供我们选择。
总计有以下几种策略:
volatile-ttl:淘汰范围:设置了过期时间的 key;淘汰策略:优先删除剩余时间短的 key
volatile-random:淘汰范围:设置了过期时间的 key;淘汰策略:随机删除淘汰范围内的 key
volatile-lfu:淘汰范围:设置了过期时间的 key;淘汰策略:优先删除使用频率最少的 key
volatile-lru:淘汰范围:设置了过期时间的 key(没有设置过期时间的 key 不会被淘汰,这样可以保证需要持久化的数据库不会突然丢失);淘汰策略:优先删除最近最少使用的 key
allkeys-random:淘汰范围:全体 key;淘汰策略:随机删除淘汰范围内的 key
allkeys-lfu:淘汰范围:全体 key;淘汰策略:优先删除使用频率最少的 key
allkeys-lru:淘汰范围:全体 key;淘汰策略:优先删除最近最少使用的 key
noeviction:默认的淘汰策略;写请求会报错,读请求正常进行;这样可以保证不会丢失数据,但是会让线上的业务不能持续进行
缓存淘汰策略配置:
maxmemory-policy volatile-lru
这篇关于redis 缓存淘汰策略配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-21redisinsight-v2
- 2024-02-26Typed property App\Api\Mapper\GamePropsConfigMapper::$apiRedis must not be accessed before initia-icode9专业技术文章分享
- 2024-02-21redisson getlock
- 2024-02-20redis config
- 2024-02-20redis leaderboard
- 2024-01-23缓存选型:Redis or MemCache
- 2024-01-22面试官:Redis持久化能关吗?怎么关?
- 2024-01-21Redis压测工具redis-benchmark-icode9专业技术文章分享
- 2024-01-19这才是你应该了解的Redis数据结构!
- 2024-01-18Redis系列:使用 Redis Module 扩展功能