目前C#業界使用得最多的 Cache 系統主要是 Memcached和 Redis。 這兩個 Cache 系統能夠說是比較成熟的解決方案,也是不少系統固然的選擇。 html
Memcache的開發團隊開發了Membase,支持多臺服務器集羣,數據的切片和複製,有效的提升了服務穩定性和數據的安全性,而且支持數據的持久存儲。但代碼的穩定性不夠好。以後,Membase團隊與CouchDB團隊合併,推出二合一的產品: Couchbase。web
Couchbase的最大特色:數據庫
1,徹底繼承Memcache,原生支持全部Memcache操做;瀏覽器
2,繼承了Membase的特性,支持集羣和數據持久化;緩存
3,繼承了CouchDB的文檔性質,支持經過View對數據進行操做。這個View的特性,提供了以往memcache所不具有的便利性,可是同Mongodb相比又很簡單原始,感受不是一種廣泛需求的功能。安全
今天,也學習下Couchbase的簡單使用。服務器
服務端下載地址:http://www.couchbase.com/download 選擇適合本身系統版本的進行下載安裝。目前最新4.0.0。學習
Couchbase採用web方式進行管理、安裝完後,若是成功了,那麼在瀏覽器中能夠看到。若是沒有那麼須要手動進行訪問http://localhost:8091/index.html。本機安裝的能夠用localhost,能夠用IP或者hostname。測試
在打開的頁面上點擊SETUP,默認設置,而後點擊Next,而後到了下面加密
輸入管理員密碼。繼續Next,最終完成配置進入主頁。在裏面能夠看到不少東西,有待慢慢研究。
安裝完以後也能夠在服務中查看到:
Couchbase中幾個名詞簡單解釋:
Node:節點,即一臺安裝了Couchbase的服務器,全部節點擁有相同的組件和服務,並提供相同的接口。
Cluster:集羣,多個節點組成一個集羣。
Bucket:Bucket相似於數據庫的概念,可爲不一樣邏輯的項目建立不一樣的Bucket。
Item:一個項即一個Key/Value鍵值對。
建立一個控制檯應用程序做測試,而後經過Nuget進行Couchbase客戶端的DLL安裝。個人項目基於.NETFramework4.0,因此選擇CouchbaseNetClient 1.3.12。
引用完畢,默認鏈接地址爲:http://127.0.0.1:8091/pools/default,碼代碼進行簡單的調用:
添加DLL引用。
using Couchbase;
using Couchbase.Extensions;
using Enyim.Caching.Memcached;
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的安裝配置與使用說明。