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了.

相关推荐
液态不合群21 分钟前
【面试题】MySQL 三层 B+ 树能存多少数据?
java·数据库·mysql
困知勉行19851 小时前
springboot整合redis
java·spring boot·redis
龙亘川2 小时前
【课程5.1】城管住建核心功能需求分析:市政设施、市容秩序等场景痛点拆解
数据库·oracle·智慧城市·城管住建
飞鸟真人2 小时前
Redis面试常见问题详解
数据库·redis·面试
fanruitian2 小时前
Springboot项目父子工程
java·数据库·spring boot
super_lzb3 小时前
mybatis拦截器ParameterHandler详解
java·数据库·spring boot·spring·mybatis
CV工程师的自我修养3 小时前
数据库出现死锁了。还不知道什么原因引起的?快来看看吧!
数据库
longson.3 小时前
怎样避免空间碎片而且高效的分配空间
嵌入式硬件·缓存
不染尘.3 小时前
进程切换和线程调度
linux·数据结构·windows·缓存
码界奇点3 小时前
灵活性与高性能兼得KingbaseES 对 JSON 数据的全面支持深度解析
数据库·json·es