最近在看一个php+redis的程序,
在测试机器上运行的时候,跑几个测试用例就会抛出如下:
Fatal error: Uncaught exception 'RedisException' with message 'protocol error, got '<' as reply type byte '
这个也是在网上各种搜索都没有解决问题。
后来仔细跟踪了下redis的访问,发现一个连接用在了两个进程中,所以我怀疑可能是phpredis的连接可能是非线程安全的,所以对原有程序做了下改进,对于每个在运行的进程都开一个连接(其实总共不超过10个进程),这样就没有在报以上错误了。