自学内容网 自学内容网

redis异常:OOM command not allowed when used memory > ‘maxmemory‘

redis存储数据太多,内存溢出,导致异常
1.查看redis内存使用情况
登录redis后

info memory

2.查看分配给redis的最大内存

config get maxmemory

在这里插入图片描述
3.处理方式:拓展redis的最大内存
打开redis.conf文件,修改maxmemory
在这里插入图片描述
4.删掉键值重启redis后,发现删掉的数据又恢复了?
redis根目录下有了个dump.rdb文件(基于RDB持久化方式,即redis默认的方式,只要自己没手动改持久化方式,都是rdb方式,并会产生该文件)
conf配置文件里面可以看到 Redis默认配置文件中提供了三个条件:
• save 900 1• save 300 10• save 60 10000

分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
也就是说,例如删除redis中一个已存在的key: test,马上关闭并重启服务,打开的时候仍是读的之前的持久化文件,之前的持久化文件是包含这个test的,因为删除test之后还没有进行下一次持久化操作(要15分钟后才会进行持久化),如果删除这个key等待15分钟后重启redis,就不存在该key了.


原文地址:https://blog.csdn.net/wkw1598727534/article/details/137966869

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!