Cache Flashcards
quels sont les header pour la mise en cache
Cache-Control, Expires, ETag, Last-Modified
quels sont les 2 models d’invalidation du cache
Expiration Caching, Validation Caching
comment déclarer une response public/private manuellement
option “public” de l’attribut “Cache”
quel option du cache control utiliser pour définir la mise en cache
must-revalidate
quel bundle utiliser pour une utilisation plus fine du cache
FOSHttpCacheBundle
quels sont les 2 methodes HTTP pouvant etre cacher
GET et HEAD
quels sont les 2 methods HTTP ne devaient pas etre cacher
PUT et DELETE
quel sont les 2 status de cache pour une resource
fresh (encore valid peu ê reuse) & stale (cached response invalid)
quel methode de la Class Response de SF utiliser pour invalider le cache
$response->expire()
generalement que ce passe t-il lors d’une création de session pour le user avec le cache
le cache engine passe en mode “private” non cacheable
comment skipper le comportement d’une session avec le cache
utiliser l’option “stateless” à true
quels sont les 3 concepts de gestion du cache dans SF
Pool, Adapter, Provider
quels sont les 2 pools activé par default
cache.app (your code) & cache.system (annotations, serializer, validation)
en quoi consiste un Cache Chain
technique permettant de mettre en série différents pools de cache en un seul (du + rapide au plus lent). Cela permet à la fois de securiser, optimiser et fiabiliser les données de cache
en quoi consiste un cache Tag
technique consistant à appliquer des tags au items stockés pour pouvoir mieux les invalider meme s’ils sont dans des cache différents
comment cleaner un cache en particulier
php bin/console cache:pool:clear [pool]
comment lister les différents pool de cache
php bin/console cache:pool:list
comment clear tous les cache
php bin/console cache:clear
comment clear des cache par tags
php bin/console cache:pool:invalidate-tags tag1
quel est la technique employé par SF pour gérer le cache et éviter le Stampede Cache
Probabilistic Early Expiration ; à chaque accès à un élément du cache, on tire un nombre aléatoire. Si ce nombre est inférieur à un seuil défini (la probabilité d’expiration précoce), l’élément est marqué comme expiré et devra être régénéré lors de la prochaine requête.
quel technique de refresh de cache peut etre employé pour gagné en perf
refresh cache asynchronously by messenger component