Introducción al Error de Redis en Magento 2
Redis es uno de los sistemas de almacenamiento en caché y sesiones más potentes y utilizados en Magento 2. Sin embargo, cuando se producen interrupciones en el servicio, problemas de memoria o fallos de configuración, el sitio web puede arrojar excepciones críticas que dejan la tienda inaccesible para los usuarios. Identificar la causa raíz es fundamental para aplicar la solución correcta y evitar caídas prolongadas en tu e-commerce.
Causas Principales de la Excepción de Redis
Los problemas más comunes relacionados con Redis en entornos de producción de Magento suelen estar vinculados a:
- Agotamiento de la memoria RAM asignada al servidor Redis (límite maxmemory alcanzado).
- Servicio de Redis detenido o caído en el servidor backend.
- Configuraciones erróneas en el archivo
app/etc/env.php. - Problemas de permisos o sockets bloqueados en el sistema operativo Linux.
Método 1: Reiniciar el Servicio Redis y Verificar el Estado
Si la excepción se debe a un cuelgue temporal del servicio, el primer paso es reiniciar Redis desde la terminal SSH.
- Conéctate a tu servidor mediante SSH con privilegios de administrador.
- Ejecuta el comando para reiniciar el servicio de Redis:
sudo systemctl restart redisosudo service redis-server restart. - Comprueba que el servicio esté activo y funcionando correctamente con:
sudo systemctl status redis. - Limpia la caché de Magento para restablecer la comunicación ejecutando:
bin/magento cache:flush.
Método 2: Configurar Correctamente el Límite de Memoria en Redis
Cuando Redis alcanza su límite de memoria configurado, rechaza nuevas escrituras y genera excepciones fatales en Magento.
- Abre el archivo de configuración de Redis en tu servidor, generalmente ubicado en
/etc/redis/redis.conf. - Busca la directiva
maxmemoryy asígnale un valor adecuado acorde a los recursos de tu servidor (por ejemplo,maxmemory 2gb). - Busca la directiva
maxmemory-policyy asegúrate de que esté configurada comoallkeys-lrupara que Redis elimine las claves menos utilizadas automáticamente. - Guarda los cambios y reinicia el servicio con
sudo systemctl restart redis.
Método 3: Revisar y Corregir los Parámetros en env.php
Un error tipográfico o un cambio en la IP o puerto del servidor Redis dentro de Magento provocará fallos de conexión inmediatos.
- Accede al directorio raíz de tu instalación de Magento 2.
- Abre el archivo de configuración global
app/etc/env.phpusando un editor como nano o vim. - Localiza la sección correspondiente a
cacheysessionpara verificar que los parámetroshost,portydatabaseapunten al socket o IP correctos de Redis. - Guarda el archivo y ejecuta los comandos de limpieza de caché y regeneración de dependencias:
bin/magento c:fybin/magento setup:di:compile.