asp.net下配置使用Memcached 如何使用Memcached .ne使用BeITMemcached.dllt配置Memcached的方法

时间:2024-08-05 23:35:38

首先在项目中引用 BeITMemcached.dll

在Web.config中配置节点

    <configSections>
<section name="beitmemcached" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<!--必须紧接着configSections节点添加beitmemcached节点-->
<beitmemcached>
<add key="mem176" value="192.168.1.108:11211" />
</beitmemcached>

操作缓存的类

    public class MemcachedHelper
{
BeIT.MemCached.MemcachedClient cache;
public MemcachedHelper(string cacheServer)
{
string server = "mem176";
if (!string.IsNullOrEmpty(cacheServer))
server = cacheServer;
cache = BeIT.MemCached.MemcachedClient.GetInstance(server);
} /// <summary>
/// 写入缓存
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
/// <returns></returns>
public bool Set(string key, object val)
{
key = key.Replace(" ", "");
if (cache != null)
cache.Set(key, val, DateTime.Now.AddHours());
return false;
} /// <summary>
/// 写入缓存
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
/// <param name="expiry"></param>
/// <returns></returns>
public bool Set(string key, object val, DateTime expiry)
{
key = key.Replace(" ", "");
if (cache != null)
cache.Set(key, val, expiry);
return false;
} /// <summary>
/// 读取缓存
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public object Get(string key)
{
object obj = null;
if (System.Web.HttpContext.Current != null && System.Web.HttpContext.Current.Request["delcache"] == "true")
return null;
key = key.Replace(" ", "");
if (cache != null)
obj = cache.Get(key);
return obj;
}
}

关于调用的类

 public class Article
{ private static readonly DAL.Article dal = new DAL.Article();
private static MemcachedHelper cache = new MemcachedHelper("mem176"); public ArticleInfo GetArticleInfo(int articleId)
{
ArticleInfo result = null;
string key = cacheKey + "_ArticleInfo_" + articleId;
object obj = cache.Get(key);
if (obj != null)
result = (ArticleInfo)obj;
else
{
result = dal.Get(articleId);
if (result != null)
cache.Set(key, result);
}
return result;
}
}

下载BeITMemcached.dll