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

相关推荐
vvvae12348 小时前
分布式数据库
数据库
雪域迷影8 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
bug菌¹9 小时前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人9 小时前
SQL基础教程
数据库·sql·oracle
月空MoonSky9 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa9 小时前
【MySQL 06】表的增删查改
数据库·mysql
向上的车轮10 小时前
Django学习笔记二:数据库操作详解
数据库·django
编程老船长10 小时前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
全栈师11 小时前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 31711 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop