Redis发生OOM command not allowed when used memory错误
最近发现WordPress后台某些设置无法生效,比如修改文章置顶,更新主题信息等。F12抓包看到POST返回正常结果,寻思是否是某个插件导致更新信息失败了?

问题背景
- 环境:Oneinstack安装的Redis服务
- 程序:WordPress
- WordPress插件:Redis Object Cache
问题现象:WordPress后台将某篇文章修改为置顶,但无法生效,设置后回头查看该文章状态依然显示未置顶。
问题排查
根据经验,首先想到的就是Redis Object Cache这个插件,果不其然,查看该插件状态显示“Not connected”

服务器上查看Redis进程存在,端口监听正常。同时使用redis-cli连接Redis服务也是正常的,那么问题来了为什么服务器上都可以正常连接Redis服务,但是Redis Object Cache插件却显示“Not connected”
继续查看Redis Object Cache插件日志,果不其然发现存在“OOM command not allowed when used memory”错误,如下图。

报错很明显,看起来是Redis内存受到了限制或者内存不足导致。使用redis命令:CONFIG GET maxmemory查看内存被限制为473000000(注意:这个单位是字节),也就是400多Mb

猜测可能就是内存限制太小的原因,于是修改配置文件redis.conf将
maxmemory 473000000
修改为:
maxmemory 1073741824
然后重启Redis服务,并重启一次WordPress插件Redis Object Cache,再次查看插件显示连接正常,报错也消失了。

再次测试,修改WordPress文章置顶,功能已经正常。
最后
使用Oneinstack安装Redis的同学注意了,建议检查下Redis配置中内存大小限制,请根据服务配置和业务情况调整Redis内存限制,以免发生异常现象。
栏 目:其它数据库
下一篇:phpmyadmin中缺少mysqli扩展问题怎么办
本文标题:Redis发生OOM command not allowed when used memory错误
本文地址:https://zz.feitang.co/shujuku/32239.html
您可能感兴趣的文章
- 12-31hiredis从安装到项目实战操作
- 12-31phpmyadmin登录时怎么指定服务器ip和端口
- 12-31MySQL线上死锁分析实战
- 12-31MySQL 触发器的使用和理解
- 12-31MySQL 字段默认值该如何设置
- 12-31Redis主从同步配置的方法步骤(图文)
- 12-31MySQL 字符串拆分操作(含分隔符的字符串截取)
- 12-31redis 交集、并集、差集的具体使用
- 12-31MySQL精讲之二:DML数据操作语句
- 12-31PostgreSQL判断字符串是否包含目标字符串的多种方法


阅读排行
推荐教程
- 12-23PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符
- 12-23使用imp和exp命令对Oracle数据库进行导入导出操作详解
- 12-11mysql代码执行结构实例分析【顺序、分支、循环结构】
- 12-08添加mysql的用户名和密码是什么语句?
- 12-05mysql的事务,隔离级别和锁用法实例分析
- 12-23详解Oracle游标的简易用法
- 12-20PhpMyAdmin出现错误数据无法导出怎么办?
- 12-19Redis中实现查找某个值的范围
- 12-15浅析mysql迁移到clickhouse的5种方法
- 12-15CentOS7 64位下MySQL5.7安装与配置教程




