Einrichten des Redis-Service
Redis ist eine optionale Backend-Cache-Lösung, die den Zend Framework Zend_Cache_Backend_File ersetzt, den Adobe Commerce standardmäßig verwendet.
Verwenden Sie die folgenden Anweisungen für die Einrichtung des Services in Pro Integration-Umgebungen und Starter-Umgebungen, einschließlich der master.
Redis aktivieren
Um Redis zu aktivieren, aktualisieren Sie die folgenden Dateien:
.magento/services.yaml.magento.app.yaml
Konfigurieren des Service
Fügen Sie .magento/services.yaml die Definition des Redis-Dienstes hinzu. Ersetzen Sie <version> durch eine Redis-Version, die von Ihrer Adobe Commerce-Version und der aktuellen Cloud-Vorlage unterstützt wird.
cache:
type: redis:<version>
Beispiel: Für eine Commerce-Version und eine Cloud-Vorlage, die Redis 7.2 unterstützen:
cache:
type: redis:7.2
Die Beispielversion ist nicht universell. Die tatsächlichen standardmäßigen und unterstützten Dienstversionen hängen von Ihrer Adobe Commerce-Version, der Patch-Ebene und der aktuellen Cloud-Vorlage ab. Überprüfen Sie die unterstützte Kombination in Systemanforderungen und der aktuellen Projektvorlage.
Konfigurieren der Service-Beziehung
Konfigurieren Sie .magento.app.yaml die Beziehung zwischen der Anwendung und dem Redis-Service:
runtime:
extensions:
- redis
relationships:
redis: "cache:redis"
Der Beziehungsschlüssel redis ist der Name, der von der Anwendung für den Zugriff auf den Service verwendet wird. Der Wert cache:redis besteht aus der Service-ID (cache) und dem Service-Typ (redis), die in .magento/services.yaml definiert sind.
Übertragen und Bereitstellen der Änderungen
Fügen Sie die Konfigurationsänderungen hinzu, übertragen Sie sie und übertragen Sie sie:
git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Redis service"
git push origin <branch-name>
Stellen Sie nach Abschluss der Bereitstellung sicher, dass die Redis-Service-Beziehung verfügbar ist.
services.yaml und .magento.app.yaml Konfigurationsdateien aktualisieren. Unter Ändern der Service-Version finden Sie Anleitungen zum Aktualisieren oder Herunterstufen eines Services. Diese Self-Service-Methode gilt nicht für Pro-Staging- oder Produktionsumgebungen. Weitere Informationen finden Sie unter Pro-Services in Services konfigurieren.Überprüfen der Service-Beziehung
Führen Sie nach der Bereitstellung der Konfiguration den folgenden Befehl aus einem Anwendungs-Container aus, um das decodierte MAGENTO_CLOUD_RELATIONSHIPS-Objekt anzuzeigen:
SSH verwenden, um eine Verbindung zur Remote-Cloud-Umgebung herzustellen, und dann ausführen:
echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp
Der Befehl zeigt alle konfigurierten Dienstbeziehungen an. Suchen Sie die redis, um die Redis-Verbindungsdetails zu identifizieren.
Das folgende gekürzte Beispiel zeigt die redis. Es ist kein universelles Schema.
{
"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"
}
]
}
Die Ausgabe variiert je nach Umgebung und Service-Konfiguration. Hartcodieren Sie in diesem Beispiel keine Hostnamen, Ports, IP-Adressen, Cluster-Namen, Service-Versionen, Benutzernamen oder Kennwörter. Verwenden Sie die von MAGENTO_CLOUD_RELATIONSHIPS in der Zielumgebung zurückgegebenen Werte.
Wenn jq verfügbar ist, verwenden Sie den folgenden Befehl, um nur die Redis-Beziehung anzuzeigen:
printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
| base64 -d \
| jq '{redis: .redis}'
Weitere Informationen zu Service-Beziehungen finden Sie unter Konfigurieren von Services.
Anpassen der Redis-Konfiguration
Empfehlungen zu Cache-, Sitzungs-, L2- und Replikatverbindungen finden Sie unter Best Practices für die Konfiguration von Valkey- und -Services im Handbuch zu Best Practices für Implementierungsplaybooks.
Verwenden der Redis-CLI
Wenn Ihre Redis-Beziehung redis heißt, verwenden Sie den Host und Port, die von MAGENTO_CLOUD_RELATIONSHIPS zurückgegeben werden, um eine Verbindung zu Redis herzustellen.
Stellen Sie eine Verbindung zur -Umgebung her, in der Redis installiert und konfiguriert ist, und führen Sie den folgenden Befehl aus:
redis-cli -h <host> -p <port>
Beispiel
redis-cli -h redis.internal -p 6379
Abrufen der installierten Redis-Version
Verwenden Sie in einer Integrationsumgebung den Host und Port, die von der redis Beziehung zurückgegeben werden, um Folgendes auszuführen:
| code language-terminal |
|---|
|
Beispielantwort
| code language-text |
|---|
|
Die Versions- und Build-Details variieren je nach Umgebung. Behandeln Sie eine angezeigte Beispielversion nicht als erforderliche Version oder Universaldienstversion.
Führen Sie in Pro-Staging- und Produktionsumgebungen Folgendes aus:
| code language-terminal |
|---|
|
Beispielantwort
| code language-text |
|---|
|
Die Versions- und Build-Details variieren je nach Umgebung. Behandeln Sie eine angezeigte Beispielversion nicht als erforderliche Version oder Universaldienstversion.
Fehlerbehebung für Redis
Hilfe bei der Fehlerbehebung bei Redis-Problemen finden Sie in den folgenden Artikeln zum Adobe Commerce-Support:
Referenz zur Cache-Bereinigung von Fehlern auf einem Valley-konfigurierten Cache
Ein Fehler bei der Cache-Bereinigung vor der Bereitstellung kann die Fehlercode-[107] (clean-redis-cache) und eine Connection to Redis anzeigen, selbst wenn der cache-Service als Valkey konfiguriert ist. ece-tools verwendet diesen veralteten Redis-orientierten Fehlercode und diese Nachricht für den Cache-Bereinigungsschritt, unabhängig davon, welcher Service die cache-Beziehung unterstützt, sodass der Wortlaut nicht anzeigt, dass Redis installiert ist.
Wenn der zugrunde liegende Fehler ein DNS-Fehler ist, z. B. Name or service not known für den Beziehungshost, wurde der Bereitstellungsschritt ausgeführt, bevor die Service-Beziehung verfügbar war, oder der Beziehungsname in .magento.app.yaml stimmt nicht mit der Service-ID in .magento/services.yaml überein. Siehe Überprüfen der Service-Beziehung.