C#分布式緩衝Couchbase使用

來源:互聯網
上載者:User

標籤:

一、簡介   

  目前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使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.