星空网 > 软件开发 > ASP.net

C#分布式缓存Couchbase使用

一、简介   

  目前C#业界使用得最多的 Cache 系统主要是 Memcached和 Redis。 这两个 Cache 系统可以说是比较成熟的解决方案,也是很多系统当然的选择。 Memcache基本上已经是开发的标配,但是对于Memcache集群,很多线上部署仍然是很单薄的。几个存在的问题:不健壮、数据不安全、配置变更可能导致存取异常、后备数据的一致性、Memcached 不支持持久化。

  鉴于存在以上问题,Memcache的开发团队开发了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,然后到了下面

C#分布式缓存Couchbase使用

输入管理员密码。继续Next,最终完成配置进入主页。在里面可以看到很多东西,有待慢慢研究。

C#分布式缓存Couchbase使用

     

     安装完之后也可以在服务中查看到:

C#分布式缓存Couchbase使用

二、客户端调用

  创建一个控制台应用程序作测试,然后通过Nuget进行Couchbase的客户端的DLL安装。我的项目基于.NETFramework4.0,所以选择CouchbaseNetClient 1.3.12。

C#分布式缓存Couchbase使用

引用完毕,默认连接地址为: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)和其他方法,待后续研究。

 

  首次运行运行获取设置的缓存值结果为 :

C#分布式缓存Couchbase使用

下面将这句设置值的注释掉:  CasResult<bool> casResult = client.Cas(StoreMode.Add, "Test", "Hello World!");    

C#分布式缓存Couchbase使用

再次运行值还是获取到了:

C#分布式缓存Couchbase使用

其他测试结果:

C#分布式缓存Couchbase使用

WEB后台也能看到添加的数据,并且已经加密处理:

C#分布式缓存Couchbase使用

 

三、总结

简单使用下来感觉很不错,有空继续研究。这里有一个CouchBase的安装配置与使用说明。




原标题:C#分布式缓存Couchbase使用

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

[23-16262] Sidley律所代理Shein起诉,涉及版权侵权!已批准TRO![23-cv-16262]:https://www.kjdsnews.com/a/1700337.html
2023年英国热搜榜揭晓,Temu人气最高:https://www.kjdsnews.com/a/1700338.html
2024跨境营销日历|100+热卖节点大放送,在亚马逊做跨境这些日子必须要知道:https://www.kjdsnews.com/a/1700339.html
亚马逊突发情况!多个站点触发KYC审核:https://www.kjdsnews.com/a/1700340.html
法国掀起二手转售潮,eBay平台成交量飙升:https://www.kjdsnews.com/a/1700341.html
又一个Temu?1688跨境真来了:https://www.kjdsnews.com/a/1700342.html
TikTok 将推出先买后付服务 :https://www.goluckyvip.com/news/188219.html
深圳有没有比较好玩的景点 深圳有没有比较好玩的景点推荐一下:https://www.vstour.cn/a/366175.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流