Redis protocol error, got 'u' as reply type byte

867342143

问题描述

使用tp 安装workerman在worker里面运行 单独运行 while (true) 逻辑 Cache::get set 出现以下错误 在命令行直接运行 php 文件不会出现 在worker里面运行会出现

程序代码

 while (true) {
  sleep(1);
  Cache::get();
  Cache::set();
}

报错信息

RedisException: protocol error, got 'u' as reply type byte

截图报错信息里报错文件相关代码

截图

操作系统及workerman/webman等框架组件具体版本

centos7 workerman 目前最新版本

683 1 0
1个回答

walkor

一般是因为在启动脚本里直接初始化redis连接导致的多个进程共享了redis链接,导致数据错乱。建议redis连接初始化放到onWorkerStart里,或者在服务启动后有需要时再初始化。

  • 867342143 2023-12-18

    但是他不是立马出现的,大概等待了20分钟左右出现, 反复测试基本上都是这个事件点 ,传统cli模式下 没有出现

×
🔝