13 puntos por lemonmint 2024-11-29 | 1 comentarios | Compartir por WhatsApp

Redis es rápido, pero las consultas frecuentes de datos pueden cargar al servidor de API. Especialmente en casos como los datos en tiempo real, donde las actualizaciones son irregulares pero se consultan con frecuencia, se necesita una estrategia de caché eficiente.

  • Problema: Redis PubSub o Keyspace Notification pueden volver compleja la lógica de detección de actualizaciones y procesamiento de mensajes, o provocar desperdicio de recursos.

  • Solución: Los Invalidation Message, compatibles desde Redis 6.0, son un método en el que el servidor administra la caché del cliente.

    • Después de que un cliente lee una clave, si otro cliente la modifica, Redis envía un mensaje de actualización para que se elimine la caché.
  • Implementación: En Go, se pueden aplicar los Invalidation Message usando la combinación de redigo+ristretto o la biblioteca rueidis.

    • redigo+ristretto requiere lógica personalizada, pero rueidis permite implementarlo fácilmente con la función DoCache.
  • Resultado: En una implementación real, la velocidad de respuesta del API mejoró hasta un 82% y también se redujo la carga del servidor Redis. Aunque es necesario administrar la caché del lado del cliente, el efecto de mejora de rendimiento es grande.

1 comentarios

 
jujumilk3 2024-11-29

👀