MemCache 帮助类

/// <summary>
/// Memcached 帮助类
/// </summary>
public class MemCachedHelper
{
/// <summary>
/// 客户端
/// </summary>
private static MemcachedClient _client;

/// <summary>
/// lock
/// </summary>
static readonly object padlock = new object();

/// <summary>
/// MemcachedClient
/// </summary>
/// <returns></returns>
public static MemcachedClient getInstance()
{
if (_client == null)
{
lock (padlock)
{
if (_client == null)
MemcacheClientInit();
}
}
return _client;
}

/// <summary>
/// 初始化客户端
/// </summary>
static void MemcacheClientInit()
{
try
{
_client = new MemcachedClient();
}
catch (Exception ex)
{

}
}

/// <summary>
/// 插入指定值
/// </summary>
/// <param name="key">缓存名称 </param>
/// <param name="value">缓存值</param>
/// <param name="minutes">过期时间(分钟),默认两小时</param>
/// <returns>返回是否成功</returns>
public bool Insert(string key, object value, int minutes = 120)
{
MemcachedClient mc = getInstance();
TimeSpan span = new TimeSpan(0, minutes, 0);
bool result = mc.Store(StoreMode.Set, key, value, span);
return result;
}

/// <summary>
/// 获取缓存值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public object Get(string key)
{
MemcachedClient mc = getInstance();
return mc.Get(key);
}


/// <summary>
/// 是否存在该缓存
/// </summary>
/// <param name="key">键</param>
/// <returns></returns>
public bool IsExists(string key)
{
MemcachedClient mc = getInstance();
bool result = mc.Get(key) != null;
return result;
}


/// <summary>
/// 删除指定缓存
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public bool Remove(string key)
{
MemcachedClient mc = getInstance();
return mc.Remove(key);
}

/// <summary>
/// 清空缓存服务器上的缓存
/// </summary>
public void FlushCache()
{
MemcachedClient mc = getInstance();
mc.FlushAll();
}
}

posted @ 2021-01-12 14:31  心随风动-  阅读(90)  评论(0)    收藏  举报