2011-10-10 18 views
5

我正在使用REST資源(Spring MVC + ETag)將nginx作爲反向代理緩存進行測試。每個GET都緩存好。nginx - 在http PUT或POST上清除緩存

當通過HTTP PUT或HTTP POST更新時,是否可以清除特定資源的nginx緩存?

ps:我也在測試清漆緩存,但我有同樣的疑問。

謝謝!

回答

0

由於Nginx中有多個選項,您尚未指定要實現的緩存類型。

在您的查詢中,我假設您指的是像上傳到您網站的圖片等靜態文件。

  1. 代理緩存 這是Nginx的緩存從後端服務器的響應。首先在靜態文件中激活這個沒有意義。代理緩存僅僅是硬盤上的一個商店,檢索這些文件的代價與如果您讓Nginx從文件系統上的實際位置提供服務一樣。

  2. FastCGI緩存 與代理緩存相同。對於可能使用POST或PUT上傳的文件類型沒有意義。

  3. Memcache 在這裏,項目被存儲在RAM中,這是有利的。基本的Memcache和擴展的Memc模塊都具有向緩存添加和從緩存中移除的過程。

您的查詢但是建議您使用較早的兩個一和說,那裏絕對是幹這一行可能使用POST上載或放置文件的類型沒有好處。當緩存在Nginx中時,它們將從光盤位置讀取,它們將保持不變,就像從原始光盤位置引用時那樣。還有將它們從原始光盤位置複製到另一個光盤位置的開銷。

除了當然如果我失去了一些東西。