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

redis存储数据太多,内存溢出,导致异常

1.查看redis内存使用情况

登录redis后

java 复制代码
info memory

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

java 复制代码
config get maxmemory

3.处理方式:拓展redis的最大内存

打开redis.conf文件,修改maxmemory

4.删掉键值重启redis后,发现删掉的数据又恢复了?

redis根目录下有了个dump.rdb文件(基于RDB持久化方式,即redis默认的方式,只要自己没手动改持久化方式,都是rdb方式,并会产生该文件)

conf配置文件里面可以看到 Redis默认配置文件中提供了三个条件:

分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。

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

相关推荐
thginWalker6 分钟前
演进篇 · 维护篇
服务器·数据库
cm_chenmin16 分钟前
Cursor最佳实践之二:提问技巧
数据库·log4j
番茄去哪了22 分钟前
python基础入门(一)
开发语言·数据库·python
人道领域26 分钟前
MyBatis-Plus为何用JavaBean映射数据库表及乐观锁实战
java·开发语言·数据库
bai_lan_ya28 分钟前
makefile通用解析
java·运维·数据库
月下雨(Moonlit Rain)30 分钟前
数据库笔记
数据库·笔记
m0_5287490043 分钟前
sql基础查询
android·数据库·sql
先做个垃圾出来………1 小时前
Django vs Flask 异步视图性能对比:数据驱动的深度分析
数据库·django·flask
tryCbest1 小时前
Oracle恢复已损坏定时任务(Jobs)
数据库·oracle
蒸蒸yyyyzwd1 小时前
数据库学习笔记
数据库·笔记