Die Anfrage von 4. trifft nicht einmal den Redis-Cache, weil sie einen lokalen Cache zurückgibt (beachten Sie den "From Disk Cache" im Antwortcode).
Sie sollten zwischen einem öffentlichen Cache (d. h. dem Server-Cache, der von allen Benutzern verwendet wird) und einem privaten Cache (dem Browser-Cache des Benutzers) unterscheiden.
Ich denke, bei der Verwendung von cache_page
decorator speichert nicht nur die Anfrage, sondern setzt auch "Cache-control"-Antwortheader, um einen privaten Cache der Anfrage zu ermöglichen. Der Browser verwendet diese Header, um die Anforderung lokal zwischenzuspeichern und eine lokal zwischengespeicherte Antwort bis max-age
zurückzugeben verfällt.
Um dieses Verhalten auf Serverebene zu verhindern, können Sie @never_cache
verwenden decorator, der Cache-control
setzt Antwortheader, um lokales Caching zu verhindern, oder verwenden Sie @cache_control(public=True)
um nur den öffentlichen Cache der Anfrage zuzulassen (dies passt auch die Antwort-Header der Cache-Steuerung entsprechend an).
Mehr zum Steuern des Caches.