我聽到很多關於memcached的討論,但是當簡單地研究它時,我不明白我可以採用什麼優點,而不是使用舊的Dictionary<string, object>
來緩存我的數據在我的應用程序中。使用.NET,如何以及爲什麼使用memcached?
有人可以解釋給我嗎?
我聽到很多關於memcached的討論,但是當簡單地研究它時,我不明白我可以採用什麼優點,而不是使用舊的Dictionary<string, object>
來緩存我的數據在我的應用程序中。使用.NET,如何以及爲什麼使用memcached?
有人可以解釋給我嗎?
當我閱讀維基百科之後的理解和memcached.org它至少以下特點
similiar概念並不Dictionary<string, object>
但HttpContext.Current.Cache
,但它畢竟是不同的
我開始尋找到,這是因爲我們的應用程序是負載平衡跨多個服務器的原因是:如果我用memcached的,我可以用它的高速緩存(某些實現似乎也有一個會話狀態提供程序),以便不僅可以分割所有服務器上的負載,而且還可以將其中一個從服務器場中刪除以進行維護或部署,同時保持其他服務器的完整性。
它與字典沒有多大區別,只是在不同的服務器上運行。
如果您需要緩存來超越ASP.NET應用程序的生命週期(可以隨時回收),那麼您會希望使用memcached。根據您需要緩存的項目的大小和數量,您可以到達IIS服務器上沒有足夠空間的位置。請記住,它必須運行應用程序並緩存所有項目。
在某些情況下,創建項目緩存對於應用程序來說非常昂貴。在這些應用程序中,如果需要回收IIS,則會對其他服務(如數據庫)造成嚴重的痛苦。
當您開始使用memcached時,您需要考慮它如何適合您使用數據庫(或其他後備存儲)的方式。您需要決定是否僅寫入memcached,並讓該事件更新數據庫中的內容。從經濟角度來看,您應該考慮是否可以使用memcached來避免安裝其他數據庫服務器的成本(假設在您的情況下構建/維護的成本更高)。