目前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的安装配置与使用说明。