La requête de 4. n'atteint même pas le cache redis, car elle renvoie un cache local (notez le "Depuis le cache du disque" dans le code de réponse).
Vous devez différencier un cache public (c'est-à-dire le cache du serveur utilisé par tous les utilisateurs) et un cache privé (le cache du navigateur de l'utilisateur).
Je pense que lors de l'utilisation de cache_page
décorateur, outre la mise en cache de la demande, il définit également les en-têtes de réponse "Cache-control" pour permettre un cache privé de la demande. Le navigateur utilise ces en-têtes pour mettre en cache la requête localement et renvoyer une réponse mise en cache locale jusqu'à max-age
expire.
Pour éviter ce comportement, au niveau du serveur, vous pouvez utiliser @never_cache
décorateur, qui définit Cache-control
en-têtes de réponse pour empêcher la mise en cache locale, ou utilisez @cache_control(public=True)
pour autoriser uniquement le cache public de la requête (cela modifie également les en-têtes de réponse de contrôle du cache en conséquence).
En savoir plus sur le contrôle du cache.