在.Net C#中使用分布式缓存系统Memcached

或许你还没有用到过分布式缓存,在web集群的情况下,它可以很好的让一部分常用数据常驻服务器内存而不用担心各台web不同步。

下面稍微介绍一下beitmemcached对于.net的支持,官方参考http://code.google.com/p/beitmemcached/

调用一个在服务器已经部署好的Memcached的步骤:
1、点击链接http://code.google.com/p/beitmemcached/页面的downloads,把Memcached_1.2.5.zip 和BeITMemcached_source_2008_05_31.zip两个压缩包下在下来。

2、解压BeITMemcached_source_2010_08_04.zip,它是开发的客户端,里面是全部源代码和一个调用示例。
3、用对应版本的vss打开项目,如果感兴趣就慢慢研究代码,不感兴趣就右键属性→选择生成类库,编译一个BeITMemcached.dll出来。

4、在项目中引用BeITMemcached.dll。

5、在项目的配置文件(web.config)中添加节点。如:


  
    

6、写缓存:

    ①、添加缓存类  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BeIT.MemCached;
using System.Web.Script.Serialization;

namespace Flight.Web.Models
{
    /// 
    /// 分布式缓存
    /// 
    public class MemcachedService
    {
        public static MemcachedClient cached;


        #region MemCached缓存实例化
        public static void GetMemcachedInstance()
        {
            cached = MemcachedClient.GetInstance("MyConfigFileCache");
            cached.SendReceiveTimeout = 5000;
            cached.ConnectTimeout = 5000;
            cached.MinPoolSize = 1;
            cached.MaxPoolSize = 200;

        }
        #endregion

        #region MemCached缓存判断
        public static T GetFlightsQueryListByCached(string _CacheName)
        {
            var serialize = new JavaScriptSerializer();
            T t = default(T);
            var obj = cached.Get(_CacheName);
            t = serialize.Deserialize(obj == null ? "" : obj.ToString());
            return t;
        }
        #endregion
    }
}
      ②、缓存对象

    

MemcachedService.GetMemcachedInstance();
string cacheName = "FlightsQueryList" + request.departcity + query.arrivecity + request.date;//缓存名称
FlightsRespDTO = MemcachedService.GetFlightsQueryListByCached(cacheName);//FlightsResponse需要缓存的对象
var serialize = new JavaScriptSerializer();
//请求接口
FlightsRespDTO = Common.QueryFlightPost(request);
 MemcachedService.cached.Set(cacheName, obj, new TimeSpan(2, 0, 0));//缓存

Memcached在服务器的部署:

1、解压Memcached_1.2.5.zip ,它是memcached的服务器端。
2、把Memcached_1.2.5复制到你指定的做为缓存服务器的电脑上,比如叫做192.168.0.1。
3、cmd下运行类似命令 'd:\memcached\memcached.exe -d install' 安装服务器端,这时候它应该会出现在windows服务中
4、cmd下运行类似命令 'd:\memcached\memcached.exe -d start'启动服务,看服务器进程中是否有memcached进程。
5、确认服务器端口11211是否开放(防火墙设置中),否则其他机器无法访问
6、服务器端这时已经安装完毕、在其他机器上测试一下,cmd输入telnet 192.168.0.1 11211看能否登录。

你可能感兴趣的:(C#,类库,方法,MemcachedClient,.net,C#,缓存服务器,memcached)