¿Por qué necesito configurar el tiempo de espera para Clúster Redis?
Si el tiempo de espera no está configurado, las conexiones fallarán.
Cuando se conecta a una instancia de Clúster Redis mediante Spring Boot y Lettuce, conéctese a todos los nodos del clúster, incluidas las réplicas defectuosas.
- Si el tiempo de espera no está configurado, el bloqueo a nivel de minutos (120s en versiones anteriores de Lettuce y 60s en la nueva versión) puede ocurrir cuando hay una réplica defectuosa, como se muestra en la siguiente figura.
El tiempo de acceso al servicio de extremo a extremo puede alcanzar el tiempo de espera máximo, como se muestra en la siguiente figura.
- Después de configurar el parámetro timeout en el cliente, el tiempo de espera en la réplica se acortará en gran medida. Puede ajustar el tiempo de espera en función de los requisitos de servicio. Se supone que la configuración es la siguiente.
La siguiente figura muestra el tiempo de acceso al servicio de extremo a extremo después de completar la configuración.
Si el parámetro timeout no está configurado y hay un nodo defectuoso, las conexiones del cliente se bloquearán.
Configure el tiempo de espera según lo que el servicio puede tolerar. Por ejemplo, si necesita solicitar Redis dos veces en una solicitud de HTTP y el tiempo de espera máximo de una solicitud de HTTP es 10s, se recomienda que establezca el tiempo de espera en Redis en 5s. Esto evita la interrupción del servicio si se producen fallas debido a una larga duración de tiempo de espera o a la ausencia de tiempo de espera.