我在我的项目中使用 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(错误)ERR operation not allowed之类的链接
这表示要检查 redis.conf 文件中的“requirepass”是否已注释,但是当我在生产环境中看到 redis.conf 文件时,它被注释掉了。即使通过它的评论,我在 redis-cli "AUTH foobared" 上运行了下面提到的命令运行上述命令后,它没有工作。
注意:但是当我们杀死正在运行的 Redis 实例并重新启动它时,它会开始正常工作,然后它不会给出“ERR operation not allowed”错误。
重新启动 Redis 后,系统开始正常工作一到两个小时,然后再次出现相同的问题,并且在我重新启动 Redis 服务器后它会再次消失。
注意:我尝试将 Redis 服务器从 2.6 升级到 3,即使它不起作用