redis.clients.jedis.exceptions.JedisDataException: ERR Protocol error: expected '$', got ' '
什么意思,求解惑。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
报错信息 redis.clients.jedis.exceptions.JedisDataException: ERR Protocol error: expected '$', got ' '
表明 Redis 在处理客户端请求时,协议解析出现了问题。Redis 使用 RESP(REdis Serialization Protocol)协议进行通信,该协议要求数据格式严格符合规范。此错误通常是因为客户端发送的命令或数据不符合 RESP 协议的预期格式。
*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n
BGREWRITEAOF
或 CONFIG SET appendonly yes
命令生成的。aof-use-rdb-preamble
),需要将其关闭并重新生成 AOF 文件:
CONFIG SET aof-use-rdb-preamble no
BGREWRITEAOF
查看日志:
验证命令格式:
redis-cli
手动执行相同的命令,验证其是否能够成功执行。redis-cli -h <host> -p <port> -a <password> SET key value
检查 AOF 文件:
redis-check-aof --fix appendonly.aof
更新客户端和服务器:
通过上述步骤,您应该能够定位并解决 ERR Protocol error: expected '$', got ' '
的问题。