2012-09-13 97 views
15

我在使用Memcache和使用Windows Azure緩存之間徘徊不前。我在其中一方沒有經驗,所以我非常希望有人想出一些決定性因素:MemCache與Azure緩存

  • 價格
  • 性能
  • 易用性
  • 什麼

回答

37

你實際上需要評估3種可能的選擇:

  • Windows Azure的共享緩存(以前的Windows Azure AppFabric緩存)
  • 的Windows Azure緩存(預覽)
    • 使用您的角色的空閒內存(所以你不需要付出額外的費用來使用)
    • 沒有配額(除了你的情況下可用內存),沒有限制,...
    • 竭誠爲您的雲服務
    • 在共享緩存(見 this頁的末尾)
    • 支持大容量高速緩存100 GB
    • 支持內存緩存二進制和文本協議
    • 改進的性能S(是如此現有的應用程序 基於分佈式緩存可以利用緩存預覽)
    • Visual Studio support
  • Memcached的
    • Can在Windows Azure中使用
    • 使用您的角色的記憶,就像緩存預覽
    • 免費,就像緩存預覽
    • 沒有Visual Studio支持
    • 專用,不涉及配額,對大的緩存支持,...

我沒有任何的基準,但由於雙方的Windows Azure緩存(預覽)和Memcached的是使用上內存的專用解決方案您的角色並支持memcached協議,您可以簡單地使用Windows Azure緩存(預覽版)獲取Visual Studio和.NET支持。一旦它離開預覽,你也可以得到它的支持。

+0

明亮,清晰,正是我所需要的。您是否有一個可以跟上Windows Azure緩存預覽的鏈接? – MaxWillmo

+0

另外,Windows Azure緩存是否會自動刪除與Memcached相同的未使用的緩存? – MaxWillmo

+1

我不知道Memcached如何準確處理未使用的緩存,但Azure緩存允許您使用基於超時的失效和基於通知的失效:http://msdn.microsoft.com/zh-cn/library/windowsazure /hh914130.aspx。我建議您關注Windows Azure博客,以瞭解最新的緩存預覽和所有其他Azure特性:http://blogs.msdn.com/b/windowsazure/ –

1

從我可以告訴,Azure的緩存是不兼容的內存緩存:

[email protected]**:~# memccapable -h **.cache.windows.net -p 22233 -t 1 -b 
binary noop        Errno: 110 Connection timed out [FAIL] 
binary quit        Errno: 110 Connection timed out [FAIL] 
binary quitq       [FAIL] 
binary set        Errno: 104 Connection reset by peer [FAIL] 
binary setq        Errno: 104 Connection reset by peer [FAIL] 
binary flush       Errno: 104 Connection reset by peer [FAIL] 
binary flushq       Errno: 104 Connection reset by peer [FAIL] 

我放棄了試圖使其工作。在Linux Azure VM上安裝memcached的延遲時間很長,爲1毫秒。