Configuration du service Redis
Redis est une solution de cache back-end facultative qui remplace le Zend Framework Zend_Cache_Backend_File utilisé par défaut par Adobe Commerce.
Utilisez les instructions suivantes pour la configuration du service sur les environnements Pro Integration et les environnements de démarrage, y compris la branche master.
Activer Redis
Pour activer Redis, mettez à jour les fichiers suivants :
.magento/services.yaml.magento.app.yaml
Configuration du service
Dans .magento/services.yaml, ajoutez la définition du service Redis. Remplacez <version> par une version Redis prise en charge par votre version d’Adobe Commerce et votre modèle cloud actuel.
cache:
type: redis:<version>
Par exemple, pour une version de Commerce et un modèle de cloud qui prennent en charge Redis 7.2 :
cache:
type: redis:7.2
La version d’exemple n’est pas universelle. Les versions de service par défaut et prises en charge dépendent de la version d’Adobe Commerce, du niveau de correctif et du modèle cloud actuel. Vérifiez la combinaison prise en charge dans Configuration requise et le modèle de projet actuel.
Configurer la relation de service
Dans .magento.app.yaml, configurez la relation entre l’application et le service Redis :
runtime:
extensions:
- redis
relationships:
redis: "cache:redis"
La clé de relation, redis, est le nom utilisé par l’application pour accéder au service. La valeur, cache:redis, se compose de l’ID de service (cache) et du type de service (redis) définis dans .magento/services.yaml.
Validez et déployez les modifications
Ajoutez, validez et transmettez les modifications de configuration :
git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Redis service"
git push origin <branch-name>
Une fois le déploiement terminé, vérifiez que la relation de service Redis est disponible.
services.yaml et .magento.app.yaml. Consultez Modifier la version du service pour obtenir des conseils sur la mise à niveau ou la rétrogradation d’un service. Cette méthode en libre-service ne s’applique pas aux environnements d’évaluation ou de production Pro. Voir Prise en charge des services Pro dans Configuration des services.Vérifier la relation de service
Après avoir déployé la configuration, exécutez la commande suivante à partir d’un conteneur d’applications pour afficher l’objet MAGENTO_CLOUD_RELATIONSHIPS décodé :
Utilisez SSH pour vous connecter à l’environnement cloud distant, puis exécutez :
echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp
La commande affiche toutes les relations de service configurées. Recherchez la relation redis pour identifier les détails de la connexion Redis.
L’exemple abrégé suivant illustre la relation redis. Ce n’est pas un schéma universel.
{
"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 sortie varie en fonction de la configuration de l’environnement et du service. Ne codez pas en dur les noms d’hôtes, les ports, les adresses IP, les noms de cluster, les versions de service, les noms d’utilisateur ou les mots de passe à partir de cet exemple. Utilisez les valeurs renvoyées par MAGENTO_CLOUD_RELATIONSHIPS dans l’environnement cible.
Si jq est disponible, utilisez la commande suivante pour afficher uniquement la relation Redis :
printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
| base64 -d \
| jq '{redis: .redis}'
Pour plus d’informations sur les relations de service, voir Configuration des services.
Personnaliser la configuration Redis
Pour les recommandations relatives au cache, à la session, à L2 et à la connexion de réplica, consultez Bonnes pratiques pour la configuration de service Valkey et Redis dans le Guide des bonnes pratiques du playbook d’implémentation.
Utilisation de l’interface de ligne de commande Redis
En supposant que votre relation Redis soit nommée redis, utilisez l’hôte et le port renvoyés par MAGENTO_CLOUD_RELATIONSHIPS pour vous connecter à Redis.
Connectez-vous à l’environnement avec Redis installé et configuré, puis exécutez la commande suivante :
redis-cli -h <host> -p <port>
Exemple
redis-cli -h redis.internal -p 6379
Obtenir la version Redis installée
Sur un environnement d’intégration, utilisez l’hôte et le port renvoyés par la relation redis pour exécuter :
| code language-terminal |
|---|
|
Exemple de réponse
| code language-text |
|---|
|
Les détails de version et de build varient selon l’environnement. Ne traitez pas un exemple de version affiché comme une version requise ou de service universel.
Sur les environnements d’évaluation et de production Pro, exécutez :
| code language-terminal |
|---|
|
Exemple de réponse
| code language-text |
|---|
|
Les détails de version et de build varient selon l’environnement. Ne traitez pas un exemple de version affiché comme une version requise ou de service universel.
Résolution des problèmes liés à Redis
Consultez les articles d’assistance Adobe Commerce suivants pour obtenir de l’aide sur la résolution des problèmes Redis :
Les erreurs de nettoyage du cache référencent Redis sur un cache configuré par Valkey
Un échec de nettoyage du cache avant déploiement peut afficher le [107] de code d’erreur (clean-redis-cache) et un message d’Connection to Redis, même lorsque le service cache est configuré comme Valkey. ece-tools utilise ce code d’erreur et ce message hérités orientés Redis pour l’étape de nettoyage du cache, quel que soit le service qui soutient la relation cache ; le libellé n’indique donc pas que Redis est installé.
Si l’erreur sous-jacente est un échec du DNS, par exemple Name or service not known pour l’hôte de relation, l’étape de déploiement s’est exécutée avant que la relation de service ne soit disponible, ou le nom de la relation dans .magento.app.yaml ne correspond pas à l’ID de service dans .magento/services.yaml. Voir Vérifier la relation de service.