2008-11-18 51 views
1

我正在構建一個緩存系統,我希望它可以爲分佈式緩存準備好一個la memcached。我正在做的是轉換一個傳統的Hashtable/Dictionary(字符串 - >對象),並允許每個項目過期由緩存本身處理,方式是System.Web.Caching.Cache可以做。將傳統緩存映射到memcached? (但在.NET中)

我知道,內存緩存需要一些改變你對緩存的思考,尤其是對於管理到期,但我沒有與它太多的經驗呢。有沒有人知道關於分佈式緩存的緩存包裝文章/網站/等?我想試着去了解它是如何可以控制高速緩存大小的基礎上,他們使用了多少緩存中的優先項目等

謝謝! Steve

PS - 我還沒有看到足夠的關於Velocity的信息,知道是否應用相同的散列碼模型,如果您對Velocity有很多瞭解,我也會很感激任何幫助!

回答

1

您可以查看.Net的開源Memcached包裝器之一。這可能會有所幫助。這是Sourceforge的一個產品,我正在運行一段時間。

Memcached .net

2

最重要的事情是確保您的應用程序輕鬆地移植,按照正常的DI/IOC(依賴注入/控制反轉)的原則。因此,依賴於緩存中的代碼不應

  • 得到緩存的引用自理
  • 參考字典<,>對象

相反,要確保代碼

  • 呼叫通過接口的高速緩存,例如IDictionary的<,>
  • 獲取參照CAC他如果您使用的是DI框架,那麼當你轉用memcached的,你只需要改變的DI配置代碼,和所有組件需要緩存現在將memcached的工作注入

如果你發現了一個特別的memcached的.NET組件不能很好地工作,你可以很容易地改變它。