標籤:
一、簡介
目前C#業界使用得最多的 Cache 系統主要是 Memcached和 Redis。 這兩個 Cache 系統可以說是比較成熟的解決方案,也是很多系統當然的選擇。 Memcache基本上已經是開發的標配,但是對於Memcache叢集,很多線上部署仍然是很單薄的。幾個存在的問題:不健壯、資料不安全、配置變更可能導致存取異常、後備資料的一致性、Memcached 不支援持久化。
鑒於存在以上問題,Memcache的Team Dev開發了Membase,支援多台伺服器叢集,資料的切片和複製,有效提高了服務穩定性和資料的安全 性,並且支援資料的持久儲存。代碼的穩定性不夠好,我曾經在部分線上業務上使用了Membase,後來因為幾次莫名的存取操作緩慢,只能又撤銷回到 Memcache。
之後,Membase團隊與CouchDB團隊合并,推出變形平板的產品: Couchbase。
Couchbase的最大特點:
1,完全繼承Memcache,原生支援所有Memcache操作;
2,繼承了Membase的特性,支援叢集和資料持久化;
3,繼承了CouchDB的文檔性質,支援通過View對資料進行操作。這個View的特性,提供了以往memcache所不具備的便利性,但是同Mongodb相比又很簡單原始,感覺不是一種普遍需求的功能。
今天,也學習下Couchbase的簡單使用。
二、Couchbase服務端安裝
服務端:http://www.couchbase.com/download 選擇適合自己系統版本的進行下載安裝。目前最新4.0.0。
Couchbase採用web方式進行管理、安裝完後,如果成功了,那麼在瀏覽器中可以看到。如果沒有那麼需要手動進行訪問http://localhost:8091/index.html。本機安裝的可以用localhost,可以用IP或者hostname。
在開啟的頁面上點擊SETUP,預設設定,然後點擊Next,然後到了下面
輸入管理員密碼。繼續Next,最終完成配置進入首頁。在裡面可以看到很多東西,有待慢慢研究。
安裝完之後也可以在服務中查看到:
二、用戶端調用
建立一個控制台應用程式作測試,然後通過Nuget進行Couchbase的用戶端的DLL安裝。我的項目基於.NETFramework4.0,所以選擇CouchbaseNetClient 1.3.12。
引用完畢,預設串連地址為:http://127.0.0.1:8091/pools/default,碼代碼進行簡單的調用:
1 static void Main(string[] args) 2 { 3 //設定管理員 4 CouchbaseClientConfiguration cbcc = new CouchbaseClientConfiguration(); 5 //設定各種逾時時間 6 cbcc.SocketPool.ReceiveTimeout = new TimeSpan(0, 0, 2); 7 cbcc.SocketPool.ConnectionTimeout = new TimeSpan(0, 0, 4); 8 cbcc.SocketPool.DeadTimeout = new TimeSpan(0, 0, 10); 9 //使用預設的資料庫 10 cbcc.Urls.Add(new Uri("http://127.0.0.1:8091/pools/default"));11 12 //建立一個Client,裝入Client的配置 13 CouchbaseClient client = new CouchbaseClient(cbcc);14 //添加一條資料 15 CasResult<bool> casResult = client.Cas(StoreMode.Add, "Test", "Hello World!"); 16 //擷取剛添加的資料 17 Console.WriteLine(client.Get("Test"));18 Console.WriteLine("完成!");19 Console.ReadLine();20 }
StoreMode.Add ,StoreMode.Replace 和 StoreMode.Set 的區別
Add:表示添加一個新的key;
Replace:表示更新一個已經存在的key ;
Set:表示如果key不存在則添加、存在則更新。
CouchbaseClient 下有添加(Cas)、移除(Remove)和其他方法,待後續研究。
首次運行運行擷取設定的緩衝值結果為 :
下面將這句設定值的注釋掉: CasResult<bool> casResult = client.Cas(StoreMode.Add, "Test", "Hello World!");
再次運行值還是擷取到了:
其他測試結果:
WEB後台也能看到添加的資料,並且已經加密處理:
三、總結
簡單使用下來感覺很不錯,有空繼續研究。這裡有一個CouchBase的安裝配置與使用說明。
C#分布式緩衝Couchbase使用