Introducción al Error de Redis Cache en Magento 2
Redis es uno de los sistemas de caché y gestión de sesiones más potentes utilizados en Magento 2 para garantizar un rendimiento óptimo en tiendas de alto tráfico. Sin embargo, cuando se producen cortes de servicio, saturación de memoria o problemas de configuración en el archivo env.php, tu plataforma e-commerce puede arrojar excepciones fatales que dejan el sitio inaccesible tanto para los clientes como para los administradores.
Causas Principales del Problema con Redis
Comprender el origen del fallo te ayudará a aplicar la solución correcta. Las causas más comunes incluyen:
- El servicio de Redis se ha detenido o ha caído en el servidor.
- Se ha superado el límite de memoria RAM asignado a Redis (maxmemory), lo que provoca rechazo de nuevas conexiones.
- Credenciales incorrectas o parámetros de host/puerto mal configurados en la sección de caché o sesiones dentro de
app/etc/env.php. - Problemas con los permisos del socket o el archivo de configuración de Redis en el sistema operativo.
Método 1: Verificar y Reiniciar el Servicio de Redis
El primer paso es comprobar si el demonio de Redis está activo en tu servidor y reiniciarlo si es necesario.
- Accede a tu servidor mediante SSH con privilegios de root o sudo.
- Ejecuta el siguiente comando para comprobar el estado de Redis:
sudo systemctl status redisosudo systemctl status redis-server. - Si el servicio está detenido, inícialo con:
sudo systemctl start redis. - Para asegurarte de que se reinicie automáticamente tras un reinicio del servidor, habilítalo con:
sudo systemctl enable redis.
Método 2: Comprobar y Ampliar el Límite de Memoria en Redis
Si Redis se queda sin memoria, Magento dejará de funcionar y arrojará errores de excepción en el frontend y backend.
- Abre el archivo de configuración de Redis, generalmente ubicado en
/etc/redis/redis.confusando un editor como nano:sudo nano /etc/redis/redis.conf. - Busca la directiva
maxmemoryy asegúrate de que tenga asignado un valor adecuado para tu servidor (por ejemplo,maxmemory 2gb). - Busca la directiva
maxmemory-policyy configúrala preferiblemente enallkeys-lrupara que Redis elimine las claves menos utilizadas cuando se alcance el límite. - Guarda los cambios y reinicia el servicio:
sudo systemctl restart redis.
Método 3: Limpiar y Reconfigurar la Caché en Magento
Una vez restablecido el servicio, debes limpiar los registros de caché huérfanos en Magento para estabilizar la plataforma.
- Navega hasta la raíz de tu instalación de Magento mediante la terminal:
cd /var/www/html/tu-tienda-magento. - Limpia la caché de Magento utilizando el comando CLI:
bin/magento cache:clean. - Si el problema persiste, puedes vaciar manualmente el almacenamiento de Redis ejecutando:
redis-cli flushall(precaución: esto borrará toda la caché almacenada). - Finalmente, realiza una compilación y limpieza general si fuera necesario:
bin/magento setup:upgrade.