您好,登錄后才能下訂單哦!
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服務端安裝
選擇適合自己系統版本的進行下載安裝。目前***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后臺也能看到添加的數據,并且已經加密處理:
關于C#中怎么使用Couchbase實現分布式緩存問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。