Redis - ERR unknown command ‘EVAL‘. channel

简介: Redis - ERR unknown command ‘EVAL‘. channel

报错

Exceptioninthread"pool-25-thread-20"org.redisson.client.RedisException: ERRunknowncommand'EVAL'. channel: [id: 0x06fc3a14, L:/11.57.1.15:6694-R:192.168.200.152/192.168.200.152:26378] command: (EVAL), params: [if (redis.call('hexists', KEYS[1], ARGV[3]) ==0) thenreturnnil;end; localcounter=redis.call('h..., 2, lock, redisson_lock__channel:{lock}, 0, 30000, 920d0c4a-1c15-4616-bb41-3ed66a69233e:17177]

解决方式

网上大部分解决该问题的方法都是:排查1、排查2,但是经过验证,小编还发现可能是 排查3 的情况!!!

排查1、检查 redis 版本是否大于等于2.6.0

排查2、打开 redis.conf 配置文件,检查是否有rename-command EVAL ""这项配置?如果有,注释掉# rename-command EVAL "",重启 redis 即可

排查3、其实还需要考虑是否是哨兵模式,就是 Config 配置的时候,如果是哨兵模式的端口,改成真实 redis 的端口即可,因为哨兵模式不支持 'EVAL'。

Ps:Sentinel使用的服务器命令表和普通服务器也不同,命令表里没有SETDBSIZEEVAL等这些命令,所以Sentinel不能执行这些命令,所以在使用 Redisson 分布式锁的时候,一定要连接的是普通服务器,而不能是哨兵模式。

目录
相关文章
|
5月前
|
NoSQL Java 网络安全
SpringBoot启动时连接Redis报错:ERR This instance has cluster support disabled - 如何解决?
通过以上步骤一般可以解决由于配置不匹配造成的连接错误。在调试问题时,一定要确保服务端和客户端的Redis配置保持同步一致。这能够确保SpringBoot应用顺利连接到正确配置的Redis服务,无论是单机模式还是集群模式。
516 5
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
1210 3
|
NoSQL Redis 数据库
Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
通过本文的介绍,我们详细讲解了 Lua 脚本在 Redis 中的作用、`eval` 命令的使用方法以及 `redis.call` 和 `redis.pcall` 的区别和用法。通过合理使用 Lua 脚本,可以实现复杂的业务逻辑,确保操作的原子性,并减少网络开销,从而提高系统的性能和可靠性。
858 13
|
NoSQL Java Redis
redis.clients.jedis.exceptions.JedisDataException: ERR Syntax error, try CLIENT (LIST | KILL ip:port
redis.clients.jedis.exceptions.JedisDataException: ERR Syntax error, try CLIENT (LIST | KILL ip:port
|
缓存 分布式计算 NoSQL
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
219 2
|
NoSQL 安全 Redis
【Redis异常】redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password
【Redis异常】redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password
1081 0
|
缓存 NoSQL 中间件
redis内存溢出报错--OOM command not allowed when used memory > 'maxmemory'
该内容是关于Redis缓存服务器的使用指南。通过Xshell连接IP地址为25.218.153.193或206的主机,进入/data/iuap/middleware/redis-30001/bin目录,使用`redis-cli`连接到IP为206的30003端口。登录时需`auth yonyou*123`,可运行`info`和`info memory`查看状态,`flushall`清理缓存。在清理前,要备份/data/iuap/middleware/redis-30003/data/下的.aof和.rdb文件,利用tar命令打包并移至/tmp目录。
|
NoSQL Java 测试技术
Springboot2.x集成lettuce连接redis集群报超时异常Command timed out after 6 second(s)
最近在对一新开发Springboot系统做压测,发现刚开始压测时,可以正常对redis集群进行数据存取,但是暂停几分钟后,接着继续用jmeter进行压测时,发现redis就开始突然疯狂爆出异常提示:Command timed out after 6 second(s)......
985 0
|
NoSQL Redis
node-redis:ErrorReply: ERR wrong number of arguments for ‘auth‘ command
node-redis:ErrorReply: ERR wrong number of arguments for ‘auth‘ command
815 0
|
缓存 JSON 自然语言处理
Redis:EVAL执行Lua脚本
Redis:EVAL执行Lua脚本
Redis:EVAL执行Lua脚本