Configurare il servizio Valkey

Valkey è una soluzione di cache back-end opzionale per Adobe Commerce sull’infrastruttura cloud. Valkey è richiesto quando si esegue l’override della configurazione predefinita della cache in Adobe Commerce 2.4.9 e versioni successive, o nelle versioni patch successive a 2.4.5-p16, 2.4.6-p14, 2.4.7-p9 e 2.4.8-p4.

Utilizzare le istruzioni seguenti per la configurazione del servizio negli ambienti di integrazione Pro e negli ambienti Starter, incluso il ramo master.

NOTE
Per modificare la configurazione del servizio negli ambienti Pro Production e Staging, Invia un ticket di supporto Adobe Commerce. Per informazioni sui requisiti di pianificazione e sulla disponibilità dei clienti, vedere Supporto dei servizi Pro in Configurazione dei servizi.

Configura Valkey

Per sostituire Redis con Valkey, aggiornare i seguenti file:

  • .magento/services.yaml
  • .magento.app.yaml

Configurare il servizio

In .magento/services.yaml, sostituire la definizione del servizio Redis con una definizione del servizio Valkey. Sostituisci <version> con una versione di Valkey supportata dalla versione di Adobe Commerce e dal modello Cloud corrente.

cache:
  type: valkey:<version>

Esempio

cache:
  type: valkey:8.0

La versione di esempio non è universale. Le versioni predefinite e supportate effettive dipendono dalla versione di Adobe Commerce e dal modello Cloud corrente. Utilizza la versione specificata dal modello di progetto corrente. Per ulteriori informazioni, vedere Configurare i servizi.

WARNING
Se modifichi l’ID del servizio, il servizio esistente viene rimosso e viene creato un nuovo servizio. I dati esistenti nel servizio rimosso vengono eliminati in modo permanente. Esegui il backup dell’ambiente prima di rinominare un servizio.

Non presumere che la cache e i dati della sessione persistano quando si modifica il valore type da redis:<version> a valkey:<version>, anche quando si mantiene lo stesso ID servizio. Considera la migrazione come creazione di una nuova cache: la cache esistente e i dati della sessione non vengono conservati e gli utenti vengono disconnessi al termine della migrazione.

Configurare la relazione di servizio

In .magento.app.yaml configurare la relazione tra l’applicazione e il servizio Valkey:

relationships:
  valkey: "cache:valkey"

La chiave di relazione valkey è il nome utilizzato dall’applicazione per accedere al servizio. Il valore cache:valkey fa riferimento all’ID servizio e al tipo di servizio definiti in .magento/services.yaml.

TIP
Adobe Commerce comunica con Valkey tramite la libreria client credis, che per impostazione predefinita funziona su socket PHP normali. Per migliorare le prestazioni, abilitare l'estensione PHP redis in .magento.app.yaml. credis utilizza automaticamente l'estensione compilata quando è disponibile.
code language-yaml
runtime:
      extensions:
          - redis

Eseguire il commit e distribuire le modifiche

Aggiungi, esegui il commit e invia le modifiche di configurazione:

git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Valkey service"
git push origin <branch-name>

Al termine della distribuzione, verificare che la relazione del servizio Valkey sia disponibile.

TIP
Dopo la configurazione iniziale del servizio, è possibile modificare la versione del software per un servizio installato aggiornando i file di configurazione services.yaml e .magento.app.yaml. Per informazioni sull'aggiornamento o il downgrade di un servizio, vedere Modifica versione del servizio. Questo metodo self-service non è applicabile agli ambienti Pro Staging o Production. Vedere Supporto servizi Pro in Configurazione servizi.
NOTE
New Relic potrebbe mostrare Redis anche dopo la migrazione a Valkey.
È previsto che New Relic continui a fare riferimento al servizio cache come Redis anche dopo la migrazione dell’ambiente a Valkey.
Valkey è un fork open-source di Redis, e alcuni strumenti e integrazioni continuano a identificare il servizio utilizzando la denominazione Redis piuttosto che un'etichetta Valkey distinta. Questo comportamento non indica necessariamente che Redis è ancora installato.

Personalizzare la configurazione Valkey

Per i consigli relativi a cache, sessione, L2 e connessione di replica, vedere Best practice per la configurazione del servizio Valkey e Redis nella Guida alle best practice per l’implementazione della playbook.

Verifica la relazione di servizio

Per visualizzare l’oggetto MAGENTO_CLOUD_RELATIONSHIPS decodificato, eseguire il comando seguente da un contenitore di applicazioni dopo la distribuzione della configurazione:

Utilizza SSH per connettersi all’ambiente cloud remoto, quindi esegui:

echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp

Il comando visualizza tutte le relazioni di servizio configurate. Per identificare i dettagli di connessione Valkey, individuare la relazione valkey.

Output di esempio

L’esempio abbreviato seguente mostra la relazione valkey. Non è uno schema universale.

{
   "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"
      }
   ]
}

L’output varia in base all’ambiente e alla configurazione del servizio. Non inserire nel codice rigido nomi host, porte, indirizzi IP, nomi di cluster, versioni di servizi, nomi utente o password di questo esempio. Utilizzare i valori restituiti da MAGENTO_CLOUD_RELATIONSHIPS nell’ambiente di destinazione.

Se jq è disponibile, visualizzare solo la relazione Valkey:

printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
  | base64 -d \
  | jq '{valkey: .valkey}'

Per ulteriori informazioni sulle relazioni tra i servizi, vedere Configurare i servizi.

Utilizzo di Valkey CLI

Supponendo che la relazione Valkey sia denominata valkey, utilizzare l’host e la porta restituiti da MAGENTO_CLOUD_RELATIONSHIPS per connettersi a Valkey:

valkey-cli -h <host> -p <port>

Esempio

valkey-cli -h valkey.internal -p 6379

Scarica la versione installata di Valkey

Ambiente di integrazione

In un ambiente di integrazione, utilizzare l’host e la porta restituiti dalla relazione valkey per eseguire:

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

Risposta di esempio

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

I dettagli della versione e della build variano a seconda dell’ambiente. Non trattare una versione di esempio visualizzata come una versione richiesta o di servizio universale.

Gestione temporanea e produzione Pro

Negli ambienti di staging e produzione Pro, eseguire:

code language-terminal
valkey-server -v

Risposta di esempio

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

I dettagli della versione e della build variano a seconda dell’ambiente. Non trattare una versione di esempio visualizzata come una versione richiesta o di servizio universale.

Risoluzione dei problemi di Valkey

Gli errori di pulizia della cache fanno riferimento a Redis in una cache configurata con Valkey

Un errore di pulizia della cache pre-distribuzione può visualizzare il codice di errore [107] (clean-redis-cache) e un messaggio Connection to Redis anche quando il servizio cache è configurato come Valkey. ece-tools utilizza questo codice di errore e questo messaggio per il passaggio di pulizia della cache indipendentemente dal fatto che il servizio cache di backup sia Redis o Valkey.

Se l’errore sottostante è un errore DNS, ad esempio Name or service not known per l’host di relazione, il passaggio di distribuzione è stato eseguito prima che la relazione di servizio fosse disponibile oppure il nome della relazione in .magento.app.yaml non corrisponde all’ID del servizio in .magento/services.yaml. Vedere Verificare la relazione del servizio.

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