C#分布式緩存一:Couchbase的安裝與簡單使用


一、簡介   

  目前C#業界使用得最多的 Cache 系統主要是 Memcached和 Redis。 這兩個 Cache 系統可以說是比較成熟的解決方案,也是很多系統當然的選擇。 

  Memcache的開發團隊開發了Membase,支持多台服務器集群,數據的切片和復制,有效的提高了服務穩定性和數據的安全性,並且支持數據的持久存儲。但代碼的穩定性不夠好。之后,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,最終完成配置進入主頁。在里面可以看到很多東西,有待慢慢研究。

     

     安裝完之后也可以在服務中查看到:

  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的安裝配置與使用說明


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM