GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo cerrar o restablecer una conexión pconnect() cuando se usa PHPRedis y PHP-FPM?

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.


Linux
  1. Firewall Raspberry Pi:cómo instalarlo y administrarlo mediante UFW

  2. Cómo grabar una imagen ISO en DVD y USB usando dd

  3. Cómo analizar y comparar imágenes de contenedores usando Container-diff

  4. Cómo instalar y asegurar Redis en Ubuntu 18.04

  5. Cómo instalar y configurar Redis en Debian

Cómo acercar y alejar videos usando FFmpeg

Cómo ejecutar aplicaciones de Linux en Windows 10 y 11 usando WSL

Cómo encontrar y cerrar puertos abiertos en Linux

Cómo clonar y restaurar una partición de Linux usando el comando dd

Cómo usar el comando DD y cómo grabar ISO usándolo

Cómo instalar y configurar Redis en el sistema Linux