Заявката от 4. дори не удря кеша на redis, защото връща локален кеш (обърнете внимание на „От дисковия кеш“ в кода на отговора).
Трябва да правите разлика между публичен кеш (т.е. кеш на сървъра, използван от всички потребители) и частен кеш (кеш на браузъра на потребителя).
Мисля, че когато използвате cache_page
декоратор, освен че кешира заявката, той също така задава заглавки на отговора "Cache-control", за да позволи частен кеш на заявката. Браузърът използва тези заглавки, за да кешира локално заявката и да върне локално кеширан отговор до max-age
изтича.
За да предотвратите това поведение, на ниво сървър можете да използвате @never_cache
декоратор, който задава Cache-control
заглавки на отговора, за да предотвратите локално кеширане, или използвайте @cache_control(public=True)
да разрешите само публичен кеш на заявката (това също така коригира съответно заглавките на отговора за контрол на кеша).
Повече за Контрол на кеша.