Introducción
Redis es uno de los sistemas de almacenamiento en caché y gestión de sesiones más potentes recomendados para Magento 2. Sin embargo, cuando se satura la memoria asignada o el servicio se detiene inesperadamente, los usuarios de tu tienda e-commerce comenzarán a experimentar errores críticos, excepciones en el log y una ralentización severa del sitio. En este artículo te mostramos cómo diagnosticar y solucionar estos fallos de forma definitiva.
Causas Principales del Error de Redis en Magento 2
El fallo de Redis en Magento suele estar relacionado con factores específicos de infraestructura y configuración del servidor:
- Agotamiento de la memoria RAM asignada a la instancia de Redis (límite de
maxmemoryalcanzado). - Servicio de Redis detenido o bloqueado debido a errores de persistencia en disco (RDB/AOF).
- Configuración incorrecta en el archivo
app/etc/env.phpde Magento 2 respecto al puerto, socket o contraseña.
Método 1: Verificar el Estado del Servicio y Aumentar la Memoria RAM en Redis
Lo primero que debes hacer es acceder a tu servidor mediante SSH para comprobar si el servicio está activo y si ha alcanzado su límite de memoria.
- Conéctate a tu servidor por SSH con permisos de superusuario.
- Comprueba el estado del servicio ejecutando el comando:
sudo systemctl status redis-server - Si el servicio está caído, reinícialo con:
sudo systemctl restart redis-server - Edita la configuración de Redis para ampliar el límite de memoria si es necesario:
sudo nano /etc/redis/redis.conf - Busca la directiva
maxmemoryy asígnale un valor adecuado a tu servidor (por ejemplo,maxmemory 2gb) y asegúrate de configurarmaxmemory-policy allkeys-lru. - Guarda los cambios y reinicia Redis nuevamente.
Método 2: Limpiar y Reconstruir las Cachés y Sesiones en Magento 2
Una vez que el servicio Redis vuelve a estar operativo, es muy probable que los datos almacenados estén corruptos o bloqueados. Debes limpiar el backend de Redis y la caché de Magento.
- Accede a la CLI de Magento desde la raíz de tu proyecto.
- Limpia todas las entradas de Redis ejecutando el comando:
redis-cli flushall(Precaución: esto borrará todas las bases de datos de Redis si compartes instancia, utilizaredis-cli -nsi usas bases de datos separadas).flushdb - Ejecuta el limpiador de caché nativo de Magento:
php bin/magento cache:flush - Verifica el estado del sitio web y comprueba que los logs en
var/log/ya no muestran excepciones relacionadas con Redis.
Método 3: Revisar y Corregir el Archivo env.php
Si el error persiste, verifica que las credenciales y parámetros de conexión en Magento sean correctos.
- Abre el archivo de configuración global:
nano app/etc/env.php - Localiza la sección correspondiente a
cacheysessionque apuntan a Redis. - Asegúrate de que los parámetros
server,portydatabasecoincidan exactamente con tu configuración del servidor Redis. - Guarda el archivo y ejecuta la compilación de Magento si es necesario:
php bin/magento setup:di:compile