Mise en cache
Vous pouvez activer la mise en cache dans votre environnement de projet d’infrastructure cloud. Si vous désactivez la mise en cache, Adobe Commerce diffuse directement les fichiers.
{default}
représente le domaine par défaut configuré pour votre site. Si votre projet comporte plusieurs domaines, utilisez l’espace réservé {all}
pour configurer le routage du domaine par défaut et de tous les alias. Voir Configurer les itinéraires.Configurer la mise en cache
Activez la mise en cache pour votre application en configurant les règles de mise en cache dans le fichier .magento/routes.yaml
comme suit :
http://{default}/:
type: upstream
upstream: php:php
cache:
enabled: true
headers: [ "Accept", "Accept-Language", "X-Language-Locale" ]
cookies: ["*"]
default_ttl: 60
Mise en cache basée sur les itinéraires
Activez la mise en cache affinée en configurant des règles de mise en cache pour plusieurs itinéraires séparément, comme le montre l’exemple suivant :
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’exemple précédent met en cache les itinéraires suivants :
http://{default}/
http://{default}/path/more/
http://{default}/path/more/etc/
Et les itinéraires suivants ne sont pas mis en cache :
http://{default}/path/
http://{default}/path/etc/
Durée de mise en cache
La durée du cache est déterminée par la valeur de l’en-tête de réponse Cache-Control
. Si aucun en-tête de Cache-Control
n’est présent dans la réponse, la clé default_ttl
est utilisée.
Clé de cache
Pour décider comment mettre en cache une réponse, Adobe Commerce crée une clé de cache qui dépend de plusieurs facteurs et stocke la réponse associée à cette clé. Lorsqu’une requête est fournie avec la même clé de cache, la réponse est réutilisée. Son objectif est similaire à celui de l’en-tête HTTP Vary
.
Les paramètres headers
et clés de cookies
permettent de modifier cette clé de cache.
La valeur par défaut de ces clés est la suivante :
cache:
enabled: true
headers: ["Accept-Language", "Accept"]
cookies: ["*"]
Attributs de cache
enabled
Lorsqu’il est défini sur true
, activez le cache pour cet itinéraire. Lorsqu’il est défini sur false
, désactivez le cache pour cet itinéraire.
headers
Définit les valeurs dont la clé de cache doit dépendre.
Par exemple, si la clé headers
est la suivante :
cache:
enabled: true
headers: ["Accept"]
Ensuite, Adobe Commerce met en cache une réponse différente pour chaque valeur de l’en-tête HTTP Accept
.
cookies
La clé cookies
définit les valeurs dont la clé de cache doit dépendre.
Par exemple :
cache:
enabled: true
cookies: ["value"]
La clé de cache dépend de la valeur du cookie value
dans la requête.
Il existe un cas particulier si la clé cookies
a la valeur ["*"]
. Cette valeur signifie que toute requête avec un cookie contourne le cache. Il s’agit de la valeur par défaut.
*
). Par exemple, SESS*
ou ~SESS
sont actuellement des valeurs non valides.Les cookies présentent les restrictions suivantes :
- Le système contient un maximum défini de 50 cookies. Dans le cas contraire, l’application renvoie une exception
Unable to send the cookie. Maximum number of cookies would be exceeded
. Pour augmenter le nombre de cookies à 200, appliquez le correctif MDVA-12304 à l’aide de l’outil Correctifs de qualité. - La taille maximale des cookies est de 4 096 octets. Dans le cas contraire, l’application renvoie une exception
Unable to send the cookie. Size of '%name' is %size bytes
.
default_ttl
Si la réponse ne comporte pas d’en-tête Cache-Control
, la clé default_ttl
est utilisée pour définir la durée du cache, en secondes. La valeur par défaut est 0
, ce qui signifie que rien n’est mis en cache.