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.

IMPORTANT
Redis-Cache wird nicht unterstützt für Adobe Commerce 2.4.9 oder Patch-Versionen nach 2.4.5-p16, 2.4.6-p14, 2.4.7-p9 und 2.4.8-p4. Verwenden Sie Valkey für die Cache-Konfiguration, bei der Redis nicht unterstützt wird. Siehe Systemanforderungen für unterstützte Cache-Services nach Version.

Verwenden Sie die folgenden Anweisungen für die Einrichtung des Services in Pro Integration-Umgebungen und Starter-Umgebungen, einschließlich der master.

NOTE
Um die Service-Konfiguration in Pro-Produktions- und Staging-Umgebungen zu ändern, ​ Sie ein Adobe Commerce-Support-Ticket ​. Informationen zu Zeitplananforderungen und zur Kundenverfügbarkeit finden Sie unter Pro Services-Support in Services konfigurieren.

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.

TIP
Nach der Ersteinrichtung des Service können Sie die Softwareversion für einen installierten Service ändern, indem Sie die 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

Integrationsumgebung

Verwenden Sie in einer Integrationsumgebung den Host und Port, die von der redis Beziehung zurückgegeben werden, um Folgendes auszuführen:

code language-terminal
redis-cli -h <host> -p <port> info | grep version

Beispielantwort

code language-text
redis_version:<installed-version>
gcc_version:<gcc-version>

Die Versions- und Build-Details variieren je nach Umgebung. Behandeln Sie eine angezeigte Beispielversion nicht als erforderliche Version oder Universaldienstversion.

Pro Staging und Produktion

Führen Sie in Pro-Staging- und Produktionsumgebungen Folgendes aus:

code language-terminal
redis-server -v

Beispielantwort

code language-text
Redis server v=<installed-version> ...

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.

recommendation-more-help
commerce-on-cloud-help-cloud-guide