Django4.0 緩存框架-MIDDLEWARE順序

2022-03-17 15:09 更新

如果使用緩存中間件,重要的是將每一半放在 ?MIDDLEWARE ?設(shè)置的正確位置。這是因?yàn)榫彺嬷虚g件需要知道哪些頭可以改變緩存存儲(chǔ)。中間件總是可以在 ?Vary ?響應(yīng)頭中添加一些東西。

?UpdateCacheMiddleware ?在響應(yīng)階段運(yùn)行,其中中間件以相反的順序運(yùn)行,因此列表頂部的項(xiàng)目在響應(yīng)階段的最后運(yùn)行。因此,您需要確保 ?UpdateCacheMiddleware ?出現(xiàn)在任何其他可能添加到 ?Vary ?標(biāo)頭的其他中間件之前。下面的中間件模塊類似:

  • ?SessionMiddleware ?添加 ?Cookie?
  • ?GZipMiddleware ?添加 ?Accept-Encoding?
  • ?LocaleMiddleware ?添加 ?Accept-Language?

另一方面,?FetchFromCacheMiddleware ?在請(qǐng)求階段運(yùn)行,從頭到尾應(yīng)用中間件,因此列表頂部的條目首先在請(qǐng)求階段運(yùn)行。在其他中間件更新 ?Vary ?頭部后,?FetchFromCacheMiddleware ?也需要運(yùn)行,因此 ?FetchFromCacheMiddleware ?必須在任何條目之后運(yùn)行。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)