下面稍微介绍一下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)中添加节点。如:
<configuration>
<configSections>
<section name="beitmemcached" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<beitmemcached>
<!--正式环境-->
<!--<add key="MyConfigFileCache" value="192.168.30.81:11211" />-->
<!--测试环境-->
<add key="MyConfigFileCache" value="10.1.3.203:11211" />
</beitmemcached>
</configSections>
</configuration>
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
{
/// <summary>
/// 分布式缓存
/// </summary>
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<T>(string _CacheName)
{
var serialize = new JavaScriptSerializer();
T t = default(T);
var obj = cached.Get(_CacheName);
t = serialize.Deserialize<T>(obj == null ? "" : obj.ToString());
return t;
}
#endregion
}
}
②、缓存对象
MemcachedService.GetMemcachedInstance();
string cacheName = "FlightsQueryList" + request.departcity + query.arrivecity + request.date;//缓存名称
FlightsRespDTO = MemcachedService.GetFlightsQueryListByCached<FlightsResponse>(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看能否登录。