资源简介
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,最终完成配置进入主页。在里面可以看到很多东西,有待慢慢研究。
安装完之后也可以在服务中查看到:
二、客户端调用
创建一个控制台应用程序作测试,然后通过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 = newCouchbaseClientConfiguration();
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(newUri("http://127.0.0.1:8091/pools/default")); 11 12 //建立一个Client,装入Client的配置13 CouchbaseClient client = new CouchbaseClient(cbcc); 14 //添加一条数据 15CasResult<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后台也能看到添加的数据,并且已经加密处理:
代码片段和文件信息
- 上一篇:58同城同步房源信息
- 下一篇:Delphi控制Word (非项目形式)
相关资源
- C#联通网络宽带测试 拨号
- C#百度指数抓取方法(2012年版本已失
- C# 隐藏某个磁盘分区
- C# 读取并编辑window系统的右键菜单
- C#自定义屏保(不断滚动的文字)
- C#winform打印指定区域 -控件拖动 -设置
- C#使用Hook进行改键
- 提供C#调用系统API函数弹出或收起光驱
- 通过C#自带的头文件(类)获取Windo
- C#获取电脑CPU以及内存使用率
- 利用uu云打码平台的lib实现的c#打码平
- tf-idf一种计算方法
- C# pop3 邮件接收程序
- C# 邮件群发示例 源码下载18952
- 动态抓取IPC#实现
- XXTEA算法的C#实现和JS实现,可以互相
- C# 飞行棋 游戏源码(面向对象入门)
- Socke传输 (wince6.0系统)
- SocketAsyncEventArgs完成断开编程
- 基于WinPcap的C# ARP欺骗软件().rar
- C#网络应用编程 矩阵并行计算练习
- 《C#版Ftp软件源码》
-
C# 播放铃声(AxWindowsMediaPla
yer)最新 - C# 把图片显示成椭圆形状
- C# 水平交错效果显示图像
- winform 浮雕效果的图像
- c# 底片效果显示图像就像旧式相机的
- 积木效果显示图像
- C# 隐形窗体 (没有边框,没有标题栏
- browerPhotoC#网页截图(不打开网页)
评论
共有 条评论