Introducción al Error de Redis Cache en Magento 2
Redis es uno de los sistemas de almacenamiento en caché y sesiones más eficientes utilizados en Magento 2 para mejorar el rendimiento del e-commerce. Sin embargo, cuando el servicio falla, se detiene o se corrompen los archivos de configuración, el sitio web completo puede dejar de funcionar, mostrando errores críticos en el frontend y backoffice. En este artículo, veremos cómo identificar las causas de este fallo y aplicar las soluciones definitivas para recuperar tu tienda online.
Causas Principales del Fallo de Redis en Magento
- El servicio de Redis en el servidor se ha detenido o ha crasheado por falta de memoria RAM.
- Credenciales incorrectas o puerto modificado en el archivo de configuración
env.phpde Magento. - Límites de memoria (maxmemory) alcanzados sin una política de desalojo (eviction policy) configurada correctamente.
- Problemas de permisos o sockets UNIX bloqueados.
Método 1: Verificar y Reiniciar el Servicio de Redis en el Servidor
Lo primero que debemos hacer es comprobar si el daemon de Redis está corriendo en nuestro servidor VPS o dedicado. Accede mediante SSH con permisos de root o sudo y ejecuta los siguientes comandos:
- Comprueba el estado actual del servicio con systemctl:
sudo systemctl status redis-server - Si el servicio está detenido, inicia el servicio ejecutando:
sudo systemctl start redis-server - Para asegurarte de que Redis se inicia automáticamente tras un reinicio del servidor, habilítalo con:
sudo systemctl enable redis-server - Verifica la conexión local haciendo ping:
redis-cli ping(debería devolver PONG).
Método 2: Revisar la Configuración de Redis en el archivo env.php
Si el servicio está activo pero Magento sigue sin conectar, es muy probable que los parámetros de conexión en el archivo de configuración estén desalineados.
- Accede a la raíz de tu instalación de Magento:
cd /var/www/html/tu-tienda-magento - Abre el archivo de configuración con tu editor favorito:
nano app/etc/env.php - Busca la sección correspondiente a
cacheysessionpara verificar los parámetros de host, puerto y contraseña si aplica:'cache' => [ 'frontend' => [ 'default' => [ 'backend' => 'Magento\Framework\Cache\Backend\Redis', 'backend_options' => [ 'server' => '127.0.0.1', 'port' => '6379', 'database' => '0' ] ] ] ] - Guarda los cambios y limpia la caché de Magento si logras acceso mediante CLI:
bin/magento cache:clean
Método 3: Ajustar la Memoria y Políticas en redis.conf
A menudo, Redis se bloquea porque consume toda la memoria asignada. Debemos editar el archivo de configuración general de Redis para optimizar su comportamiento.
- 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 de tu servidor (ejemplo:maxmemory 2gb). - Asegúrate de configurar la política de gestión de memoria obsoleta buscando
maxmemory-policyy cámbiala a:maxmemory-policy allkeys-lru - Guarda el archivo y reinicia Redis:
sudo systemctl restart redis-server