Valley-Service einrichten
Valkey ist eine optionale Backend-Cache-Lösung für Adobe Commerce auf Cloud-Infrastrukturen. Valkey ist erforderlich, wenn Sie die standardmäßige Cache-Konfiguration in Adobe Commerce 2.4.9 und höher oder in Patch-Versionen nach 2.4.5-p16, 2.4.6-p14, 2.4.7-p9 und 2.4.8-p4 überschreiben.
Verwenden Sie die folgenden Anweisungen für die Einrichtung des Services in Pro Integration-Umgebungen und Starter-Umgebungen, einschließlich der master.
Konfigurieren von Valley
Um Redis durch Valley zu ersetzen, aktualisieren Sie die folgenden Dateien:
.magento/services.yaml.magento.app.yaml
Konfigurieren des Service
Ersetzen Sie in .magento/services.yaml die Redis-Dienstdefinition durch eine Valley-Dienstdefinition. Ersetzen Sie <version> durch eine Valkey-Version, die von Ihrer Adobe Commerce-Version und der aktuellen Cloud-Vorlage unterstützt wird.
cache:
type: valkey:<version>
Beispiel
cache:
type: valkey:8.0
Die Beispielversion ist nicht universell. Die tatsächlichen standardmäßigen und unterstützten Dienstversionen hängen von Ihrer Adobe Commerce-Version und Ihrer aktuellen Cloud-Vorlage ab. Verwendet die in der aktuellen Projektvorlage angegebene Version. Weitere Informationen finden unter von Diensten .
Gehen Sie nicht davon aus, dass Cache- und Sitzungsdaten bestehen bleiben, wenn Sie den type von redis:<version> in valkey:<version> ändern, selbst wenn Sie dieselbe Service-ID beibehalten. Behandeln Sie die Migration als Erstellen eines neuen Cache: Vorhandene Cache- und Sitzungsdaten werden nicht garantiert beibehalten, und Benutzer werden nach Abschluss der Migration abgemeldet.
Konfigurieren der Service-Beziehung
Konfigurieren Sie .magento.app.yaml die Beziehung zwischen der Anwendung und dem Valley-Service:
relationships:
valkey: "cache:valkey"
Der Beziehungsschlüssel valkey ist der Name, der von der Anwendung für den Zugriff auf den Service verwendet wird. Der Wert cache:valkey verweist auf die Service-ID und den Service-Typ, die in .magento/services.yaml definiert sind.
credis-Client-Bibliothek, die standardmäßig über einfache PHP-Sockets funktioniert. Um die Leistung zu verbessern, aktivieren Sie die redis PHP-Erweiterung in .magento.app.yaml. credis verwendet die kompilierte Erweiterung automatisch, wenn sie verfügbar ist.| code language-yaml |
|---|
|
Ü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 Valkey service"
git push origin <branch-name>
Überprüfen Sie nach Abschluss der Bereitstellung, ob die Valley-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.Anpassen der Valley-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.
Überprüfen der Service-Beziehung
Um das decodierte MAGENTO_CLOUD_RELATIONSHIPS-Objekt anzuzeigen, führen Sie den folgenden Befehl aus einem Anwendungs-Container aus, nachdem Sie die Konfiguration bereitgestellt haben:
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 Valkey-Beziehung, um die Valley-Verbindungsdetails zu identifizieren.
Beispielausgabe
Das folgende gekürzte Beispiel zeigt die valkey. 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"
}
],
"valkey" : [
{
"host" : "valkey.internal",
"port" : 6379,
"path" : null,
"scheme" : "valkey"
}
]
}
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, zeigen Sie nur die Valkey-Beziehung an:
printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
| base64 -d \
| jq '{valkey: .valkey}'
Weitere Informationen zu Service-Beziehungen finden Sie unter Konfigurieren von Services.
Verwenden der Valley-CLI
Wenn Ihre Valkey-Beziehung valkey heißt, verwenden Sie den Host und den Port, die von MAGENTO_CLOUD_RELATIONSHIPS zurückgegeben werden, um eine Verbindung zu Valkey herzustellen:
valkey-cli -h <host> -p <port>
Beispiel
valkey-cli -h valkey.internal -p 6379
Abrufen der installierten Valley-Version
Verwenden Sie in einer Integrationsumgebung den Host und Port, die von der valkey 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 im Tal
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 Fehlercode und diese Meldung für den Cache-Bereinigungsschritt, unabhängig davon, ob der unterstützende Cache-Service Redis oder Valkey 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.