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 y utilizadas en entornos de producción de Magento 2. Sin embargo, cuando se producen cortes de servicio, fallos de configuración en el archivo env.php o se alcanza el límite de memoria RAM asignada, la tienda e-commerce puede dejar de responder, mostrando errores críticos en el frontend o impidiendo el acceso al panel de administración (Admin).
Principales Causas del Error de Redis en Magento
- El servicio de Redis se ha detenido o ha fallado en el servidor VPS o dedicado.
- Límite de memoria superado (
OOM command not allowed when used memory > 'maxmemory'). - Credenciales incorrectas o puerto mal configurado en el archivo
app/etc/env.php. - Bloqueo de sockets debido a permisos incorrectos o archivos temporales corruptos.
Método 1: Verificar y Reiniciar el Servicio de Redis en el Servidor
El primer paso para solucionar cualquier problema de conexión con Redis es comprobar el estado del servicio en tu servidor Linux y reiniciarlo correctamente.
- Conéctate a tu servidor mediante SSH con privilegios de superusuario.
- Ejecuta el siguiente comando para verificar si Redis está activo:
sudo systemctl status redis-server - Si el servicio está detenido o inactivo, reinícialo con el comando:
sudo systemctl restart redis-server - Habilita el inicio automático de Redis al arrancar el servidor:
sudo systemctl enable redis-server
Método 2: Comprobar la Configuración en el Archivo env.php
Si Redis está activo pero Magento sigue sin conectar, es muy probable que los parámetros de host, puerto o base de datos en la configuración estén desincronizados.
- Accede a la raíz de tu instalación de Magento 2 mediante FTP o SSH.
- Navega hasta la ruta
app/etc/ y abre el archivo env.phpen tu editor de código preferido. - Busca la sección correspondiente a
cacheysessionpara verificar los parámetros de Redis:
'cache' => [
'frontend' => [
'default' => [
'backend' => 'Magento\Framework\Cache\Backend\Redis',
'backend_options' => [
'server' => '127.0.0.1',
'port' => '6379',
'database' => '0',
'compress_data' => '1'
]
]
]
]- Guarda los cambios y limpia la caché de Magento ejecutando:
php bin/magento cache:clean
Método 3: Vaciar y Liberar Memoria en Redis
Si el error persiste debido a que Redis se ha quedado sin memoria asignada, deberás vaciar las bases de datos de Redis manualmente.
- Conéctate a la interfaz de comandos de Redis ejecutando:
redis-cli - Una vez dentro de la consola de Redis, limpia todas las bases de datos con el comando:
FLUSHALL - Sal de la interfaz escribiendo:
exit - Finalmente, actualiza tu tienda Magento 2 desde la terminal para restablecer el funcionamiento normal:
php bin/magento setup:upgrade