准备工作
①、新建一个MVC的项目
②、在项目中添加DLL的引用
封装Memcached帮助类对外提供服务接口
(1)在web.config的appsettings中添加Memcached服务器的地址列表
<!-- 设置Memcached服务器集群列表 -->
<add key="MemcachedServers" value="192.168.80.10:11211,192.168.80.11:11211"/>
(2)新建一个类MemcachedHelper
/// <summary>
/// 自己封装Memcached的帮助类
/// </summary>
public static class MemcacheHelper
{
#region 全局静态对象
// 全局Socket连接池对象
private readonly static SockIOPool sockIOPool;
public static SockIOPool CurrentPool
{
get
{
return sockIOPool;
}
}
// 全局Memcached客户端对象
private static MemcachedClient mc;
#endregion
#region 静态构造函数
/// <summary>
/// 静态构造函数
/// </summary>
static MemcacheHelper()
{
// 初始化Memcached服务器列表
string[] serverList = ConfigurationManager.AppSettings["MemcachedServers"].Split(',');
// 初始化Socket连接池
sockIOPool = SockIOPool.GetInstance("MemPool");
sockIOPool.SetServers(serverList);
sockIOPool.Initialize();
// 初始化Memcached客户端
mc = new MemcachedClient();
mc.PoolName = "MemPool";
mc.EnableCompression = false;
}
#endregion
#region 封装对外方法
/// <summary>
/// Set-新增或修改
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <returns>是否成功</returns>
public static bool Set(string key, object value)
{
if (!mc.KeyExists(key))
{
return mc.Add(key, value);
}
else
{
return mc.Set(key, value);
}
}
/// <summary>
/// Set-新增或修改
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <param name="expiry">过期时间</param>
/// <returns>是否成功</returns>
public static bool Set(string key, object value, DateTime expiry)
{
if (!mc.KeyExists(key))
{
return mc.Add(key, value, expiry);
}
else
{
return mc.Set(key, value, expiry);
}
}
/// <summary>
/// Get-获取
/// </summary>
/// <param name="key">键</param>
/// <returns>具体数据</returns>
public static object Get(string key)
{
if (!mc.KeyExists(key))
{
return null;
}
else
{
return mc.Get(key);
}
}
#endregion
}