Configurazione del servizio Redis

Redis è una soluzione cache back-end facoltativa che sostituisce Zend Framework Zend_Cache_Backend_File, utilizzata da Adobe Commerce per impostazione predefinita.

IMPORTANT
La cache Redis non è supportata per Adobe Commerce 2.4.9 o versioni patch successive a 2.4.5-p16, 2.4.6-p14, 2.4.7-p9 e 2.4.8-p4. Utilizza Valkey per la configurazione della cache in cui Redis non è supportato. Consulta Requisiti di sistema per i servizi di cache supportati per versione.

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.

Abilita Redis

Per abilitare Redis, aggiornare i seguenti file:

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

Configurare il servizio

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

cache:
  type: redis:<version>

Ad esempio, per una versione di Commerce e un modello Cloud che supporta Redis 7.2:

cache:
  type: redis:7.2

La versione di esempio non è universale. Le versioni predefinite e supportate effettive dipendono dalla versione di Adobe Commerce, dal livello di patch e dal modello Cloud corrente. Verificare la combinazione supportata in Requisiti di sistema e nel modello di progetto corrente.

Configurare la relazione di servizio

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

runtime:
  extensions:
    - redis

relationships:
  redis: "cache:redis"

La chiave di relazione redis è il nome utilizzato dall’applicazione per accedere al servizio. Il valore cache:redis è costituito dall’ID servizio (cache) e dal tipo di servizio (redis) definiti in .magento/services.yaml.

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 Redis service"
git push origin <branch-name>

Al termine della distribuzione, verificare che la relazione del servizio Redis 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.

Verifica la relazione di servizio

Dopo aver distribuito la configurazione, eseguire il comando seguente da un contenitore di applicazioni per visualizzare l’oggetto MAGENTO_CLOUD_RELATIONSHIPS decodificato:

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. Individuare la relazione redis per identificare i dettagli della connessione Redis.

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

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

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, utilizzare il comando seguente per visualizzare solo la relazione Redis:

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

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

Personalizzare la configurazione Redis

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.

Utilizzo di Redis CLI

Se la relazione Redis si chiama redis, utilizzare l’host e la porta restituiti da MAGENTO_CLOUD_RELATIONSHIPS per connettersi a Redis.

Connettersi all’ambiente con Redis installato e configurato ed eseguire il comando seguente:

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

Esempio

redis-cli -h redis.internal -p 6379

Scarica la versione Redis installata

Ambiente di integrazione

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

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

Risposta di esempio

code language-text
redis_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
redis-server -v

Risposta di esempio

code language-text
Redis 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 Redis

Consulta i seguenti articoli sul supporto Adobe Commerce per assistenza nella risoluzione dei problemi Redis:

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 messaggio legacy orientato a Redis per il passaggio di pulizia della cache, indipendentemente dal servizio che supporta la relazione cache, pertanto il testo non indica che Redis è installato.

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