en phpredis 4.3.0, close() puede cerrar la conexión creada por pconnect(). si usa el método redis después de close(), se creará automáticamente una nueva conexión persistente.
¿Estás llamando a pconnect con un tiempo de espera? Suponiendo que la conexión se cierre cada vez que se exceda el tiempo de espera, podría volver a resolver el maestro antes de volver a llamar a pconnect con una dirección diferente.
Si está ejecutando un clúster de Redis, PHPRedis tiene un modo de clúster con un comportamiento de tiempo de espera que es específico de esta configuración compatible con la respuesta 'MOVIDA':https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#timeout
Los flujos persistentes son proporcionados por el interior de PHP, es una ley no escrita que cualquier cosa que exponga una forma de crear un flujo persistente también debe proporcionar una forma de destruirlo.
PHP Redis infringe esa ley, simplemente no hay forma de que destruyas ese flujo persistente de la tierra del usuario.
El curso de acción debe ser PR una implementación del método requerido.
Aquí hay un parche contra la rama PHP7 que implementa Redis::pclose:https://gist.github.com/krakjoe/326eadc61bea38fdd6e6
Tenga en cuenta que el código para pdisconnect se basa en la desconexión existente, ambas funciones me parecen extrañas y no son honestas sobre su valor de retorno. Supongo que hay algunas pruebas o códigos en algún lugar que se basan en esa extrañeza, por lo que no he intentado solucionarlo.
Cualquier PR debería mencionar que estas funciones parecen extrañas, y PHP7 es el momento perfecto para romper cosas.