Memorizzazione in cache
Puoi abilitare il caching nell’ambiente di progetto dell’infrastruttura cloud. Se disattivi la memorizzazione in cache, Adobe Commerce distribuisce direttamente i file.
{default}
rappresenta il dominio predefinito configurato per il sito. Se il progetto ha più domini, utilizzare il segnaposto {all}
per configurare il routing per il dominio predefinito e per tutti gli alias. Vedere Configurare le route.Configurare il caching
Abilitare il caching per l'applicazione configurando le regole di cache nel file .magento/routes.yaml
come segue:
http://{default}/:
type: upstream
upstream: php:php
cache:
enabled: true
headers: [ "Accept", "Accept-Language", "X-Language-Locale" ]
cookies: ["*"]
default_ttl: 60
Memorizzazione in cache basata su route
Abilita il caching granulare impostando le regole di caching per diversi percorsi separatamente, come illustrato nell’esempio seguente:
http://{default}/:
type: upstream
upstream: php:php
cache:
enabled: true
http://{default}/path/:
type: upstream
upstream: php:php
cache:
enabled: false
http://{default}/path/more/:
type: upstream
upstream: php:php
cache:
enabled: true
L’esempio precedente memorizza in cache le seguenti route:
http://{default}/
http://{default}/path/more/
http://{default}/path/more/etc/
E le seguenti route sono non memorizzate nella cache:
http://{default}/path/
http://{default}/path/etc/
Durata cache
La durata della cache è determinata dal valore dell'intestazione di risposta Cache-Control
. Se nella risposta non è presente alcuna intestazione Cache-Control
, viene utilizzata la chiave default_ttl
.
Chiave cache
Per decidere come memorizzare una risposta nella cache, Adobe Commerce crea una chiave della cache che dipende da diversi fattori e memorizza la risposta associata a tale chiave. Quando una richiesta viene fornita con la stessa chiave cache, la risposta viene riutilizzata. Il suo scopo è simile all'intestazione HTTP Vary
.
I parametri headers
e le chiavi cookies
consentono di modificare questa chiave della cache.
Il valore predefinito per queste chiavi è il seguente:
cache:
enabled: true
headers: ["Accept-Language", "Accept"]
cookies: ["*"]
Attributi cache
enabled
Se è impostato su true
, abilitare la cache per questa route. Se è impostato su false
, disabilitare la cache per questa route.
headers
Definisce da quali valori deve dipendere la chiave della cache.
Ad esempio, se la chiave headers
è:
cache:
enabled: true
headers: ["Accept"]
Quindi Adobe Commerce memorizza nella cache una risposta diversa per ogni valore dell'intestazione HTTP Accept
.
cookies
La chiave cookies
definisce da quali valori deve dipendere la chiave della cache.
Ad esempio:
cache:
enabled: true
cookies: ["value"]
La chiave della cache dipende dal valore del cookie value
nella richiesta.
Esiste un caso speciale se la chiave cookies
ha il valore ["*"]
. Questo valore significa che qualsiasi richiesta con un cookie bypassa la cache. Questo è il valore predefinito.
*
). SESS*
o ~SESS
sono attualmente non valori validi.I cookie hanno le seguenti restrizioni:
- Puoi impostare un massimo di 50 cookie nel sistema. In caso contrario, l'applicazione genera un'eccezione
Unable to send the cookie. Maximum number of cookies would be exceeded
. - La dimensione massima del cookie è 4096 byte. In caso contrario, l'applicazione genera un'eccezione
Unable to send the cookie. Size of '%name' is %size bytes
.
default_ttl
Se la risposta non ha un'intestazione Cache-Control
, viene utilizzata la chiave default_ttl
per definire la durata della cache, in secondi. Il valore predefinito è 0
, il che significa che non è memorizzato nella cache.