You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:通过netcat/telnet执行Memcached的set命令失败如何解决?

Memcached set命令报CLIENT_ERROR bad data chunk的解决方案
  • 问题根源:Mac上的nc工具默认发送LF(\n)换行符,而Memcached协议要求命令和数据行必须以CRLF(\r\n)结尾,导致协议解析错误,触发数据块校验失败。

  • 解决方案1:使用printf构造带正确CRLF的命令,通过管道发送给Memcached:

printf "set tutorialspoint 0 900 9\r\nmemcached\r\n" | nc localhost 11211

执行后应返回STORED表示成功。

  • 解决方案2:改用telnet工具连接(默认处理CRLF):
telnet localhost 11211

进入交互模式后输入:

set tutorialspoint 0 900 9
memcached

同样会返回STORED确认成功。

  • 额外排查步骤:
    • 启动Memcached时加-v参数查看详细日志,确认请求解析过程:
      memcached -v
      
    • 确认输入的value字节数与set命令中指定的bytes参数完全一致(memcached是9个ASCII字符,对应9字节,参数本身无问题)。

内容的提问来源于stack exchange,提问作者StaticMethod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:47:24