Introducción al Error de Redis Cache en Magento 2
Redis es una de las herramientas de almacenamiento en caché y gestión de sesiones más potentes utilizadas en Magento 2 para garantizar un rendimiento óptimo en tiendas online de alto tráfico. Sin embargo, cuando se producen interrupciones en el servicio, problemas de memoria o fallos de configuración, Magento arroja un error crítico de excepción que puede dejar la tienda inaccesible tanto para los clientes como para los administradores.
Causas Principales del Fallo de Redis en Magento
Identificar la causa raíz del problema es fundamental para aplicar la solución correcta. Entre los motivos más comunes se encuentran:
- El servicio de Redis se ha detenido o ha caído debido a falta de memoria RAM (OOM Killer).
- Credenciales de autenticación incorrectas en el archivo
env.php. - Límites de memoria insuficientes configurados en el archivo
redis.conf. - Problemas con los permisos del socket o el puerto de red asignado.
Método 1: Verificar y Reiniciar el Servicio de Redis en el Servidor
Lo primero que debemos hacer es comprobar si el demonio de Redis está activo y funcionando correctamente en el servidor VPS o dedicado.
- Accede a tu servidor mediante SSH con privilegios de root o sudo.
- Comprueba el estado actual del servicio ejecutando el siguiente comando:
sudo systemctl status redis-server - Si el servicio está detenido o presenta fallos, reinícialo con la orden:
sudo systemctl restart redis-server - Habilita el inicio automático del servicio al arrancar el sistema:
sudo systemctl enable redis-server
Método 2: Comprobar la Configuración en el Archivo env.php
Un error tipográfico en los parámetros de conexión dentro del archivo de configuración principal de Magento puede desencadenar excepciones de Redis.
- Navega hasta la raíz de tu instalación de Magento:
cd /var/www/html/tu-tienda-magento - Abre el archivo de configuración ubicado en
app/etc/env.phputilizando tu editor de texto favorito, por ejemplo, nano:nano app/etc/env.php - Busca la sección correspondiente a
cacheysessionasegurándote de que los puertos, host (usualmente 127.0.0.1) y contraseñas coincidan exactamente con la configuración de tu servidor Redis. - Guarda los cambios y limpia la caché ejecutando:
bin/magento cache:clean
Método 3: Ampliar el Límite de Memoria en Redis
Si tu tienda experimenta un volumen alto de sesiones y datos en caché, es muy probable que Redis haya alcanzado el límite máximo de memoria permitido y comience a rechazar escrituras.
- Abre el archivo de configuración global de Redis:
sudo nano /etc/redis/redis.conf - Busca la directiva
maxmemoryy asígnale un valor adecuado según la RAM disponible en tu servidor (por ejemplo,maxmemory 2gb). - Busca la directiva
maxmemory-policyy asegúrate de que esté configurada para eliminar datos antiguos correctamente:maxmemory-policy allkeys-lru - Reinicia el servicio para aplicar los nuevos cambios de memoria:
sudo systemctl restart redis-server