Introducción al problema de Redis Cache en Magento 2
Redis es una de las herramientas de almacenamiento en caché y sesiones más potentes utilizadas en Magento 2 para garantizar un rendimiento óptimo en tiendas de comercio electrónico de alto tráfico. Sin embargo, cuando se producen fallos de configuración, saturación de memoria o caídas del servicio, la tienda puede volverse inaccesible o mostrar errores críticos en el panel de administración y en el frontend.
Causas comunes del error de Redis en Magento 2
Los problemas más frecuentes con Redis en Magento suelen estar relacionados con:
- El servicio de Redis se encuentra detenido o no responde en el servidor.
- Límites de memoria RAM superados (
OOM command not allowed when used memory > 'maxmemory'). - Configuración incorrecta en el archivo
app/etc/env.php(puertos, contraseñas o sockets erróneos). - Permisos incorrectos en los archivos de socket de Redis.
Método 1: Verificar y reiniciar el servicio de Redis en el servidor
El primer paso para solucionar cualquier fallo de conexión es comprobar el estado del servicio y reiniciarlo mediante SSH.
- Conéctate a tu servidor mediante SSH con privilegios de administrador.
- Verifica el estado del servicio ejecutando el siguiente comando:
sudo systemctl status redis-server - Si el servicio está detenido, inicia o reinicia Redis con:
sudo systemctl restart redis-server - Comprueba los logs del sistema en busca de errores específicos usando:
tail -f /var/log/redis/redis-server.log
Método 2: Corregir la configuración de Redis en el archivo env.php
Si el servicio está activo pero Magento sigue sin conectar, debes revisar los parámetros de configuración en el archivo principal de entorno.
- Accede a la raíz de tu instalación de Magento 2 y abre el archivo de configuración:
nano app/etc/env.php - Localiza la sección correspondiente a
cacheosession_savey verifica que los parámetros apunten al host y puerto correctos (por ejemplo,127.0.0.1y puerto6379). - Guarda los cambios y limpia la caché de Magento ejecutando:
php bin/magento cache:clean
Método 3: Liberar memoria y ajustar la política de desalojo
Si el error se debe a falta de memoria en Redis, debes vaciar la caché manualmente o modificar la configuración para evitar bloqueos.
- Accede a la interfaz de comandos de Redis ejecutando:
redis-cli - Limpia todas las bases de datos si es necesario con el comando:
FLUSHALL - Para solucionar problemas de memoria a largo plazo, edita el archivo de configuración de Redis (
/etc/redis/redis.conf) y ajusta la directivamaxmemoryy la políticamaxmemory-policy allkeys-lru.