Požadavek ze 4. nezasáhne ani mezipaměť redis, protože vrátí místní mezipaměť (všimněte si „Z diskové mezipaměti“ v kódu odpovědi).
Měli byste rozlišovat mezi veřejnou mezipamětí (tj. mezipaměť serveru používanou všemi uživateli) a soukromou mezipaměť (mezipaměť prohlížeče uživatele).
Myslím, že při použití cache_page
decorator, kromě ukládání požadavku do mezipaměti, také nastavuje hlavičky odpovědí "Cache-control", aby umožnila soukromou mezipaměť požadavku. Prohlížeč používá tyto hlavičky k místní mezipaměti požadavku a vrací místní odpověď uloženou v mezipaměti do max-age
vyprší.
Chcete-li tomuto chování zabránit, na úrovni serveru můžete použít @never_cache
dekorátor, který nastavuje Cache-control
hlavičky odpovědí, abyste zabránili místnímu ukládání do mezipaměti, nebo použijte @cache_control(public=True)
povolit pouze veřejnou mezipaměť požadavku (tím se také odpovídajícím způsobem upraví hlavičky odpovědí řízení mezipaměti).
Více o ovládání mezipaměti.