Configurar el servicio Redis
Redis es una solución de caché back-end opcional que reemplaza a Zend Framework Zend_Cache_Backend_File, que Adobe Commerce usa de forma predeterminada.
Siga estas instrucciones para la configuración del servicio en entornos de integración profesional y entornos de inicio, incluida la rama master.
Habilitar Redis
Para habilitar Redis, actualice los siguientes archivos:
.magento/services.yaml.magento.app.yaml
Configuración del servicio
En .magento/services.yaml, agregue la definición del servicio Redis. Reemplazar <version> por una versión de Redis compatible con su versión de Adobe Commerce y la plantilla de nube actual.
cache:
type: redis:<version>
Por ejemplo, para una versión de Commerce y una plantilla de Cloud que admitan Redis 7.2:
cache:
type: redis:7.2
La versión de ejemplo no es universal. Las versiones reales del servicio predeterminado y admitido dependen de la versión de Adobe Commerce, el nivel de parche y la plantilla de Cloud actual. Compruebe la combinación admitida en Requisitos del sistema y la plantilla de proyecto actual.
Configuración de la relación de servicio
En .magento.app.yaml, configure la relación entre la aplicación y el servicio Redis:
runtime:
extensions:
- redis
relationships:
redis: "cache:redis"
La clave de relación redis es el nombre que usa la aplicación para obtener acceso al servicio. El valor cache:redis consiste en el id. de servicio (cache) y el tipo de servicio (redis) definidos en .magento/services.yaml.
Confirmar e implementar los cambios
Añada, confirme e inserte los cambios de configuración:
git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Redis service"
git push origin <branch-name>
Una vez finalizada la implementación, compruebe que la relación de servicio de Redis esté disponible.
services.yaml y .magento.app.yaml. Consulte Cambiar la versión del servicio para obtener instrucciones sobre cómo actualizar o degradar un servicio. Este método de autoservicio no se aplica a los entornos de ensayo o producción Pro; consulte Compatibilidad con servicios Pro en Configurar servicios.Verificar la relación de servicio
Después de implementar la configuración, ejecute el siguiente comando desde un contenedor de aplicaciones para mostrar el objeto MAGENTO_CLOUD_RELATIONSHIPS descodificado:
Utilice SSH para conectarse al entorno remoto de la nube y, a continuación, ejecute:
echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp
El comando muestra todas las relaciones de servicio configuradas. Busque la relación redis para identificar los detalles de conexión de Redis.
En el siguiente ejemplo abreviado se muestra la relación redis. No es un esquema universal.
{
"database" : [
{
"host" : "database.internal",
"port" : 3306,
"path" : "main",
"scheme" : "mysql"
}
],
"opensearch" : [
{
"host" : "opensearch.internal",
"port" : 9200,
"path" : null,
"scheme" : "http"
}
],
"redis" : [
{
"host" : "redis.internal",
"port" : 6379,
"path" : null,
"scheme" : "redis"
}
]
}
La salida varía según el entorno y la configuración del servicio. No codifique nombres de host, puertos, direcciones IP, nombres de clúster, versiones de servicio, nombres de usuario o contraseñas desde este ejemplo. Use los valores devueltos por MAGENTO_CLOUD_RELATIONSHIPS en el entorno de destino.
Si jq está disponible, utilice el siguiente comando para mostrar únicamente la relación de Redis:
printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
| base64 -d \
| jq '{redis: .redis}'
Para obtener más información acerca de las relaciones de servicio, vea Configurar servicios.
Personalizar la configuración de Redis
Para las recomendaciones de caché, sesión, L2 y conexión de réplica, consulte Prácticas recomendadas para la configuración de los servicios Valkey y Redis en la Guía de prácticas recomendadas de implementación del libro de estrategias.
Uso de la CLI de Redis
Suponiendo que su relación con Redis se llame redis, use el host y el puerto que MAGENTO_CLOUD_RELATIONSHIPS devolvió para conectarse a Redis.
Conéctese al entorno con Redis instalado y configurado y ejecute el siguiente comando:
redis-cli -h <host> -p <port>
Ejemplo
redis-cli -h redis.internal -p 6379
Obtener la versión de Redis instalada
En un entorno de integración, use el host y el puerto devueltos por la relación redis para ejecutar:
| code language-terminal |
|---|
|
Respuesta de ejemplo
| code language-text |
|---|
|
La versión y los detalles de la compilación varían según el entorno. No trate una versión de ejemplo mostrada como una versión de servicio obligatorio o universal.
En entornos de ensayo y producción profesionales, ejecute:
| code language-terminal |
|---|
|
Respuesta de ejemplo
| code language-text |
|---|
|
La versión y los detalles de la compilación varían según el entorno. No trate una versión de ejemplo mostrada como una versión de servicio obligatorio o universal.
Solución de problemas de Redis
Consulte los siguientes artículos de soporte de Adobe Commerce para obtener ayuda sobre la resolución de problemas de Redis:
Los errores de limpieza de caché hacen referencia a Redis en una caché configurada con Valkey
Un error de limpieza de caché previa a la implementación puede mostrar el código de error [107] (clean-redis-cache) y un mensaje Connection to Redis incluso cuando el servicio cache está configurado como Valkey. ece-tools usa este mensaje y código de error heredados orientados a Redis para el paso de limpieza de caché independientemente del servicio que respalde la relación cache, de modo que la redacción no indica que Redis esté instalado.
Si el error subyacente es un error de DNS, como Name or service not known para el host de relación, el paso de implementación se ejecutó antes de que la relación de servicio estuviera disponible o el nombre de relación de .magento.app.yaml no coincide con el ID de servicio de .magento/services.yaml. Consulte Verificar la relación de servicio.