簡體   English   中英

有什么方法可以清除服務器場中的緩存?

[英]Is there any way to clear cache from server farm?

我已經在一個應用程序中實現了OutputCache,並且工作正常,但是由於我將該位置指定為服務器,並且這些應用程序在服務器場(2台服務器)中運行,因此當我清除緩存時,它一次只能從一台服務器清除。 我曾考慮過指定服務器位置(硬代碼),以便將緩存存儲在一個位置,並且在需要時可以輕松清除。 因此,有什么方法可以硬編碼OutputCache中location屬性的服務器名稱嗎? 還是從webconfig文件?

在webconfig中聲明

<system.web>
<caching>
  <outputCacheSettings>
    <outputCacheProfiles>
      <add name="Cache10Minutes"
           duration="300"
           location="Server"
           varyByParam="none"/>
    </outputCacheProfiles>
  </outputCacheSettings>
</caching>

相關頁面中的定義(頁面標題)

<%@ OutputCache CacheProfile="Cache10Minutes" Duration="300" Location="Server" VaryByParam="none"%>

要清除按鈕上的緩存,請單擊

HttpRuntime.UnloadAppDomain()

或者如何在客戶端更新時從數據庫創建觸發器。 可以從兩個服務器清除緩存嗎? 如果我的想法錯誤或不夠清晰,請糾正我,我很困惑。 請指教。

據我所知,輸出緩存僅針對每個服務器。 但是,您可以實現自己的OutputCacheProvider並實現自己的緩存機制: OutputCacheProvider類,MSDN

Redis的OutputCacheProvider

或將分布式緩存與AppFabric一起使用: 如何:為ASP.NET配置AppFabric輸出緩存提供程序 請注意,盡管微軟明年將停止對Windows Server的AppFabric的支持Microsoft Windows Server的AppFabric 1.1的支持將在2016年4月2日終止

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM