Redis troughs (ERR operation not allowed) 正常运行 1 到 2 小时后仍报错

Posted

技术标签:

【中文标题】Redis troughs (ERR operation not allowed) 正常运行 1 到 2 小时后仍报错【英文标题】:Redis troughs (ERR operation not permitted) error even after properly running for 1 to 2 hrs 【发布时间】:2016-03-16 00:27:50 【问题描述】:

我在我的项目中使用 Redis 进行缓存,我使用 Spring 进行设置,您可以通过下面提到的链接了解我在项目中做了什么。 http://caseyscarborough.com/blog/2014/12/18/caching-data-in-spring-using-redis/

过去 6 到 8 个月,此代码在生产环境(Rhel 7-EC2 实例)中运行良好。现在它突然开始给出“不允许ERR操作”错误


org.springframework.dao.InvalidDataAccessApiUsageException: ERR operation not permitted; nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR operation not permitted
    at org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:44) 

因此,我们无法从 Redis 服务器获取数据。因此我们的应用程序无法正常工作。

我确实搜索过这个问题,我浏览了类似的链接 redis (error) ERR operation not permitted

这表示要检查 redis.conf 文件中的“requirepass”是否被注释,但是当我在生产环境中看到 redis.conf 文件时,它被注释掉了。 即使通过它的评论,我在 redis-cli 上运行了下面提到的命令 “AUTH foobared” 运行上述命令后,它没有工作。

注意:但是当我们杀死正在运行的 Redis 实例并重新启动它时,它会开始正常工作,然后不会出现“ERR operation not allowed”错误。

Redis 重启后,系统开始正常工作一到两个小时,然后再次出现同样的问题,并且在我重启 Redis 服务器后它又会消失。

注意:我尝试将 Redis 服务器从 2.6 升级到 3,即使它不起作用

【问题讨论】:

【参考方案1】:

您的 Redis 是否暴露在互联网上? 这可能是CONFIG SET requirepass 攻击。

见this SO question 和@antirez cmets here

【讨论】:

以上是关于Redis troughs (ERR operation not allowed) 正常运行 1 到 2 小时后仍报错的主要内容,如果未能解决你的问题,请参考以下文章

Redis SAVE 命令 返回 ERR

redis 集群新增节点,slots槽分配,删除节点, [ERR] Calling MIGRATE ERR Syntax error, try CLIENT (LIST | KILL | GET...

Python使用matplotlib可视化时间序列将时间序列数据的波峰和波谷进行使用自定义颜色的形状标记(Time Series with Peaks and Troughs Annotated)

Redis报错:ERR This instance has cluster support disabled

解决问题redis问题:ERR Client sent AUTH, but no password is set

redis报(error) ERR Errors trying to SHUTDOWN. Check logs.