Żądanie z 4. nawet nie trafia do pamięci podręcznej redis, ponieważ zwraca lokalną pamięć podręczną (zwróć uwagę na „Z pamięci podręcznej dysku” w kodzie odpowiedzi).
Należy rozróżnić pamięć podręczną publiczną (tj. pamięć podręczną serwera używaną przez wszystkich użytkowników) i prywatną pamięć podręczną (pamięć podręczna przeglądarki użytkownika).
Myślę, że używając cache_page
dekorator, oprócz buforowania żądania, ustawia również nagłówki odpowiedzi „Cache-control”, aby umożliwić prywatną pamięć podręczną żądania. Przeglądarka używa tych nagłówków do lokalnego buforowania żądania i zwraca lokalną buforowaną odpowiedź do momentu max-age
wygasa.
Aby temu zapobiec, na poziomie serwera możesz użyć @never_cache
dekorator, który ustawia Cache-control
nagłówki odpowiedzi, aby zapobiec lokalnemu buforowaniu, lub użyj @cache_control(public=True)
aby zezwolić tylko na publiczną pamięć podręczną żądania (to również odpowiednio modyfikuje nagłówki odpowiedzi kontroli pamięci podręcznej).
Więcej o kontrolowaniu pamięci podręcznej.