zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#分布式缓存Couchbase使用

2023-09-27 14:23:31 时间

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


作者:weixiao520

来源:51CTO


深入理解分布式缓存——使用Spring Boot+Redis实现分布式缓存解决方案 在微服务飞速发展的今天,在高并发的分布式的系统中,缓存是提升系统性能的重要手段。没有缓存对后端请求的拦截,大量的请求将直接落到系统的底层数据库。系统是很难撑住高并发的冲击,下面就以Redis为例来聊聊分布式系统中关于缓存的设计以及过程中遇到的一些问题。
分布式缓存中间件Redis入门 本文主要就介绍了以下什么是redis、redis的数据结构以及其简单使用。redis其实在日常的生产中使用到的机会还是很大的。所以学会redis也是提高自身硬实力的一种重要方式,这样才能在面试中取得好成绩。
Tair分布式缓存 Redis很好用,相比memcached多了很多数据结构,支持持久化。但是在很长一段时间里,原生是不支持分布式的。后来就出现了很多redis集群类产品,Tair是其中胜出的优秀作品之一。 所以Tair的特性都是一些集群的特性,比如:容错、解决单点故障、跨机房管理、多集群管理、支持副本等。总而言之,是redis的高可用版本。
如今,市面上的缓存解决方案已经逐步成熟了,今天我将选取其中一些代表性的方案包括Redis、Memcached和Tair进行对比,帮助大家 在生产实践中更好地进行技术选型。