Description
This is a result of us investigating the issue mentioned in #70 (read error on connection)
We captured Redis traffic from our live servers and investigated time periods when our error reporting system captured the read error on connection exceptions. What appears to be happening is that the Redis server sends a message to the client saying it wants to close the TCP connection. However, the client then sends a subsequent TCP packet containing a GET command a few seconds AFTER receiving the packet with the FIN flag set from the Redis server. The Redis server then responds with a RST packet because it's already sent a FIN packet for that connection. The "read error on connection" error is then fired.
Here's an example (172.31.20.xxx is the Redis Server. 172.31.13.xxx is the phpredis client):
We've not figured out why the Redis server is closing the connection, but it appears the phpredis is trying to use the connection after the server has closed it.