石家庄网站建设德信互联科技有限公司,广州建设技术职业学院,美食网站模版,素材网一、说明 1.redis key没有设置过期时间被redis主动删除了 2.当redis已用内存超过maxmemory限定时#xff0c;触发主动清理策略 3.主动清理策略在redis4.0之前一共实现了6种内存淘汰策略#xff0c;在4.0之后#xff0c;增加了2种#xff0c;总共8种
二、淘汰策略
2.1 针对…一、说明 1.redis key没有设置过期时间被redis主动删除了 2.当redis已用内存超过maxmemory限定时触发主动清理策略 3.主动清理策略在redis4.0之前一共实现了6种内存淘汰策略在4.0之后增加了2种总共8种
二、淘汰策略
2.1 针对设置了过期时间的key做处理 1.volatile-ttl在筛选时会针对设置了过期时间的键对值根据过期时间的先后进行删除越早过期的越先被删除 2.volatile-random针对设置了过期时间的键值对随机删除 3.volatile-lru会使用lru算法筛选设置了过期时间的键值对删除Least Recently Used的缩写即最近最少使用 4.volatile-lfu会使用lfu算法筛选设置了过期时间的键值对删除Least Frequently Used的缩写即最不经常使用
2.1 针对所有key做处理 1.allkeys-random从所有键值对中随机选择并删除数据 2.allkeys-lru使用LRU算法在所有数据中进行筛选删除 3.allkeys-lfu使用LFU算法在所有数据中进行筛选删除
2.1.不处理 1.noeviction不会删除任何数据拒绝所有写入操作并返回客户端错误信息redis只响应读操作(error) OOM command not allowed when used memory
三、LRU和LFU的区别 1.LRU最近最少使用淘汰很久没被访问过的数据以最近一次访问时间作为参考 2.LFU最不经常使用淘汰最近一段时间被访问次数最少的数据以次数作为参考 3.绝大多数情况使用LRU策略 4.存在大量热点缓存数据时LFU更好