首页 > Windows开发 > 详细

Windows系统下Memcached缓存系列二:CouchbaseClient(c#客户端)的详细试用,单例模式

时间:2014-03-18 02:46:04      阅读:602      评论:0      收藏:0      [点我收藏+]

在上一篇文章里面 ( Windows系统下Memcached缓存系列一:Couchbase(服务器端)和CouchbaseClient(c#客户端)的安装教程 ),我们介绍了服务器端的安装和客户端的安装,以及一个简单的例子,这一篇介绍详细的使用方法.

这次以一个web项目为例.

配置文件配置调用

第一步:首先上一下配置文件,在web.config文件里面的 configuration 节点中  添加以下配置

<!--配置缓存开始-->
        <configSections>
            <section name="couchbase" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
        </configSections>
        <couchbase>
            <servers bucket="default" bucketPassword="">
                <add uri="http://127.0.0.1:8091/pools"/>
                <!--<add uri="http://192.168.0.3:8091/pools"/>-->
            </servers>
        </couchbase>
    <!--配置缓存结束--> 

可以看到Servers节点下只添加了一个URI,而且是我的本机。这个地方通常会配置多个URI列表,是客户端获取信息的集群配置。默认的Couchbase 服务端安装是创建一个名为default、没有密码的存储区(bucket),所以这里存储区密码(bucketpassword)的属性为可选。如果你创建了一个已认证的存储区,你必须在上面的设置中配置那个值。这里暂时就先使用默认的进行吧。

第二步: 实例化客户端

在实际开发中,创建客户端的实例是昂贵的。 客户端会增加开销,因为它创建连接池并设置线程获得集群配置。 因此,最好的做法是创建一个单一的客户端实例,也就是单列。

我们创建一个类,这个类的静态属性就是我们的实例。 下面是代码

bubuko.com,布布扣
public interface ICacheManager
    {
        bool AddCache(string key, object obj);
        T GetCache<T>(string key) where T : class;
        bool ClearCache(string key);
        bool AddCache(string key, object obj, int minutes);
        void FlushAll();
    }
bubuko.com,布布扣


第三步: 增删改查 

 

 

 

(注意里面有意思的地方,obj的值如果是序列化的,则服务器上显示的是序列化的值,不加密.  如果obj的值不序列化,那么服务器会加密)

也就是如果我们的添加保存的方法里面,把obj进行了序列化,那么服务器上显示的值,就是序列化后的字符串

public bool AddCache(string key, object obj, int minutes)
        {
            string jsonobj = JsonConvert.SerializeObject(obj);
            return Instance.Store(StoreMode.Set, key, jsonobj, DateTime.Now.AddMinutes(minutes));
        }

bubuko.com,布布扣

如果我们保存的obj就是一个对象的话,那么服务器上显示的就是这个对象加密过的数据

public bool AddCache(string key, object obj, int minutes)
        {
            //string jsonobj = JsonConvert.SerializeObject(obj);
            //return Instance.Store(StoreMode.Set, key, jsonobj, DateTime.Now.AddMinutes(minutes));
            return Instance.Store(StoreMode.Set, key, obj, DateTime.Now.AddMinutes(minutes));
        }

bubuko.com,布布扣

总结: 支持中文的key,如果保存的值是一个对象,那么服务器上保存的是对象加密后的值,如果保存的是一个序列化的字符串,则服务器上保存的是字符串.

Windows系统下Memcached缓存系列二:CouchbaseClient(c#客户端)的详细试用,单例模式,布布扣,bubuko.com

Windows系统下Memcached缓存系列二:CouchbaseClient(c#客户端)的详细试用,单例模式

原文:http://www.cnblogs.com/joeylee/p/3605182.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!