Introducción al Problema de Redis en Magento 2
Redis es una de las herramientas de caché y gestión de sesiones más potentes utilizadas en Magento 2 para garantizar un rendimiento óptimo en tiendas de alto tráfico. Sin embargo, cuando se producen interrupciones en el servicio, bloqueos de memoria o problemas de configuración, la plataforma genera un error crítico de excepción que impide a los usuarios navegar por la web o acceder al panel de administración. Solucionar este inconveniente de inmediato es vital para evitar la pérdida de conversiones.
Principales Causas del Error de Redis
- El servicio de Redis se ha detenido o ha fallado en el servidor.
- Límite de memoria RAM alcanzado en el servidor Redis (configuración de política maxmemory).
- Credenciales incorrectas o socket/puerto mal configurado en el archivo
env.php. - Problemas de permisos en los sockets de Redis dentro del entorno Linux.
Método 1: Verificar y Reiniciar el Servicio de Redis
El primer paso consiste en comprobar si el demonio de Redis está activo en tu servidor VPS o dedicado mediante la consola SSH.
- Conéctate a tu servidor mediante SSH con privilegios de administrador.
- Ejecuta el siguiente comando para comprobar el estado del servicio:
sudo systemctl status redis - Si el servicio está detenido o inactivo, reinícialo con la siguiente instrucción:
sudo systemctl restart redis - Habilita el inicio automático de Redis al arrancar el servidor:
sudo systemctl enable redis
Método 2: Revisar y Corregir la Configuración en env.php
Si el servicio está activo pero Magento sigue arrojando excepciones, es muy probable que los parámetros de conexión en la configuración global no coincidan.
- Accede al directorio raíz de tu instalación de Magento 2:
cd /var/www/html/tu-tienda-magento - Abre el archivo de configuración con un editor de texto:
nano app/etc/env.php - Busca la sección correspondiente a
cacheysessionpara verificar que los puertos, la IP (generalmente 127.0.0.1) y las contraseñas (si aplican) sean correctas. - Guarda los cambios y limpia la caché de Magento ejecutando:
php bin/magento cache:flush
Método 3: Ajustar el Límite de Memoria en redis.conf
A menudo, Redis se bloquea porque supera la memoria asignada y su política de expulsión no está configurada correctamente.
- Abre el archivo de configuración de Redis en tu sistema:
sudo nano /etc/redis/redis.conf - Localiza la directiva
maxmemoryy asígnale un valor adecuado según la RAM disponible (por ejemplo,maxmemory 2gb). - Configura la política de gestión de memoria eliminando las claves más antiguas:
maxmemory-policy allkeys-lru - Reinicia Redis para aplicar los nuevos cambios de memoria:
sudo systemctl restart redis-server