C#分布式缓存Couchbase
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 = 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的更多相关文章
- C#分布式缓存Couchbase使用
目前C#业界使用得最多的 Cache 系统主要是 Memcached和 Redis. 这两个 Cache 系统可以说是比较成熟的解决方案,也是很多系统当然的选择. 一.简介 目前C#业界使用得最多的 ...
- j2ee分布式缓存同步实现方案dlcache v1.0.0
现成的分布式K/V缓存已经有很多的实现,最主要的比如redis,memcached,couchbase.那为什么我们还要自己去实现呢,在我们解决了分布式系统下大量rpc调用导致的高延时后,我们发现很多 ...
- j2ee分布式缓存同步实现方案dlcache
现成的分布式K/V缓存已经有很多的实现,最主要的比如redis,memcached,couchbase.那为什么我们还要自己去实现呢,在我们解决了分布式系统下大量rpc调用导致的高延时后,我们发现很多 ...
- 【开源项目系列】如何基于 Spring Cache 实现多级缓存(同时整合本地缓存 Ehcache 和分布式缓存 Redis)
一.缓存 当系统的并发量上来了,如果我们频繁地去访问数据库,那么会使数据库的压力不断增大,在高峰时甚至可以出现数据库崩溃的现象.所以一般我们会使用缓存来解决这个数据库并发访问问题,用户访问进来,会先从 ...
- .net 分布式架构之分布式缓存中间件
开源git地址: http://git.oschina.net/chejiangyi/XXF.BaseService.DistributedCache 分布式缓存中间件 方便实现缓存的分布式,集群, ...
- CRL快速开发框架系列教程六(分布式缓存解决方案)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇
Redis 安装 & 配置 本测试环境将在 CentOS 7 x64 上安装最新版本的 Redis. 1. 运行以下命令安装 Redis $ wget http://download.redi ...
- ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存
ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存 part 1:给我点时间,允许我感慨一下2016年 正好有时间,总结一下最近使用的一些技术,也算是为2016年画上一个完 ...
- CYQ.Data V5 分布式缓存Redis应用开发及实现算法原理介绍
前言: 自从CYQ.Data框架出了数据库读写分离.分布式缓存MemCache.自动缓存等大功能之后,就进入了频繁的细节打磨优化阶段. 从以下的更新列表就可以看出来了,3个月更新了100条次功能: 3 ...
随机推荐
- 面向服务的体系架构SOA
面向服务的体系架构SOA 序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微 ...
- android贴士Toast
转载请注明出处:http://blog.csdn.net/droyon/article/details/42009015 我们可以用androd提供toast控制,但在使用过程中,给我们发了很多Toa ...
- 20140719中国互联网公司市值排名TOP20
近期在找工作.关注了一下中国互联网公司的市值,实际情况跟想象的区别非常大. 比方异军突起的小米.京东.唯品会.聚美优品. 比方乐视网由于政策原因,市值两日缩水10亿$.停牌了. 搜房网市值90天蒸发3 ...
- 《炉石传说》建筑设计欣赏(6):卡&在执行数据时,组织能力
上一篇文章我们看到了<炉石传说>核心存储卡的数据,今天,我们不断探索卡&身手. 基本的类 通过之前的分析,卡牌&技能涉及到几个类体系:Entity.Actor.Card.S ...
- hdu N!
Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input One N in o ...
- S如何解决安卓DK无法下载Package问题
安装一些用户Android SDK后.打开Android SDK Manager下载API当总是显示"Done loading packages"却迟迟不能前进.自己也出现了这样的 ...
- cocos2dx环境配置和打包
安装软件准备就绪: vs2012 cocos2d-x-2.2.1 adt-bundle-windows-x86_64-20121030 android-ndk-r9c-windows-x86_64 j ...
- poj 3662 Telephone Lines spfa算法灵活运用
意甲冠军: 到n节点无向图,它要求从一个线1至n路径.你可以让他们在k无条,的最大值.如今要求花费的最小值. 思路: 这道题能够首先想到二分枚举路径上的最大值,我认为用spfa更简洁一些.spfa的本 ...
- c# 操作 MongoDB 的 第三方类库 MongoRepository
https://github.com/RobThree/MongoRepository 文档 https://github.com/RobThree/MongoRepository/wiki/Docu ...
- 构建安全的Xml Web Service系列之如何察看SoapMessage
原文:构建安全的Xml Web Service系列之如何察看SoapMessage 上一篇文章地址:构建安全的Xml Web Service系列一之初探使用Soap头 (5-22 12:53) ...