Introducción al Error de Redis Cache Llena en Magento 2
El uso de Redis como sistema de gestión de caché y sesiones es una práctica recomendada para mejorar el rendimiento de Magento 2. Sin embargo, cuando el servidor se queda sin memoria o la política de desalojo no está configurada correctamente, la tienda puede experimentar fallos críticos, errores 500 o la imposibilidad de acceder al panel de administración.
Causas Principales del Problema
Entre las causas más comunes de este fallo en Magento 2 se encuentran:
- Límite de memoria RAM asignado a Redis insuficiente para el volumen de datos de la tienda.
- Configuración incorrecta de la política de desalojo (maxmemory-policy) en el archivo
redis.conf. - Acumulación masiva de datos temporales no expirados debido a un TTL (Time To Live) mal configurado.
Método 1: Aumentar el Límite de Memoria en Redis
El primer paso para solucionar este problema de forma temporal y prevenir futuros bloqueos es ampliar la memoria asignada a Redis en el servidor.
- Accede a tu servidor mediante SSH con privilegios de root o sudo.
- Abre el archivo de configuración de Redis utilizando un editor de texto como nano:
sudo nano /etc/redis/redis.conf. - Busca la directiva
maxmemoryy ajusta el valor según la capacidad de tu servidor (por ejemplo:maxmemory 2gb). - Guarda los cambios y reinicia el servicio de Redis ejecutando:
sudo systemctl restart redis.
Método 2: Configurar la Política de Desalojo Correcta
Si Redis alcanza su límite y no sabe qué datos eliminar, rechazará nuevas escrituras. Debemos configurar una política de desalojo adecuada para Magento.
- Vuelve a abrir el archivo de configuración:
sudo nano /etc/redis/redis.conf. - Localiza la línea
maxmemory-policyy cámbiala aallkeys-lruovolatile-lrupara que Redis elimine automáticamente los elementos menos utilizados cuando se llene la memoria. - Asegúrate de que la línea quede así:
maxmemory-policy allkeys-lru. - Reinicia Redis nuevamente para aplicar los cambios:
sudo systemctl restart redis.
Método 3: Limpiar la Caché desde la Línea de Comandos de Magento
Una vez ajustado Redis, es recomendable limpiar y reconstruir la caché de Magento para asegurar la estabilidad del sistema.
- Navega hasta la raíz de tu instalación de Magento:
cd /var/www/html/tu-tienda-magento. - Ejecuta el comando de limpieza de caché de Magento:
bin/magento cache:clean. - Si persisten los problemas, puedes vaciar manualmente Redis ejecutando:
redis-cli flushall. - Verifica el estado de tu tienda e-commerce accediendo al frontend y al backend para comprobar que todo funciona correctamente.