應用程式請求路由不清理快取文件

應用程式請求路由不清理快取文件

我已將 ARR 配置為執行輸出快取的反向代理。快取條目的 TTL 為 20 分鐘,但快取檔案似乎永遠保留在磁碟上。

TTL 在應用程式的 Web.config 檔案中的重寫規則下進行設定:

    <rule name="Default ARR cache control" enabled="true">
      <match url=".*" />
      <serverVariables>
        <!-- First arg of value is: 1 to be always active, 0 only if there are no cache headers set. -->
        <set name="ARR_CACHE_CONTROL_OVERRIDE" value="0,max-age=1200" />
      </serverVariables>
    </rule>

在 HTTP 回應中,我還可以正確地看到這個 max-age 並且快取確實過期了,我得到了新的結果。如果我打開一個快取文件,它也會包含Cache-Control: public, max-age=1200在其標頭中。

但是,即使未使用,快取檔案仍會保留。磁碟快取的「快取清理間隔」設定為 5 分鐘,因此我認為檔案最多只能保留 25 分鐘,但也有幾個月前的檔案。

我缺少什麼,如何讓 ARR 刪除過時的快取檔案?

這裡它解釋瞭如何使用 scavenge.exe 來清理電腦上的快取文件中學驅動器,但與主要驅動器無關。或者,如果我沒有使快取驅動器慢慢填滿,我應該手動運行此實用程式嗎?

答案1

看來我誤解了這些配置應該如何運作,並且「快取清理間隔」與「磁碟使用高閾值」一起工作。

那麼也許檔案每 5 分鐘清除一次,但前提是達到「磁碟使用高閾值」?看來確實是這樣,正如在這篇博文:我剛剛將“磁碟使用率低閾值”配置為 4(百分比),“磁碟使用率高閾值”配置為 5,是的,很快就刪除了很多檔案。

相關內容