Redis内存淘汰策略
查看redis内存
查看内存大小命令:
```
config get maxmemory
```
如果内存大小为0表示没有设置最大内存大小,在64位操作系统下则不限制内存大小,在32位操作系统下最多使用3GB内存;
当redis设置内存最大大小时,内存占满时需要用到内存淘汰策略;
设置redis最大内存:
```
config set maxmemory 100mb
```
内存淘汰策略配置
查看当前内存淘汰策略
```
config get maxmemory-policy
```
修改淘汰策略的两种方式
1.修改redis.conf配置文件:
```
maxmemory-policy allkeys-lru
```
2.通过命令修改淘汰策略:
```
config set maxmemory-policy allkeys-lru
```
淘汰策略种类
1.noeviction(默认策略)
对于写请求不再提供服务,直接返回错误(DEL和部分特殊请求除外);
2.allkeys-lru
从所有key中使用LRU算法(最近最少使用)进行淘汰;
3.volatile-lru
从设置了过期时间的key中使用LRU算法进行淘汰;
4.allkeys-random
从所有key中随机淘汰数据;
5.volatile-random
从设置了过期时间的Key中随机淘汰;
6.volatile-ttl
在设置了过期时间的Key中,根据Key的过期时间进行淘汰,越早过期的越优先被淘汰;
注意
redis的LRU只是近似LRU,不是真正严格的LRU算法;要体现一个Key被访问的热度可以用LFU算法;LFU算法只在redis4.0以上才具有;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix