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


    首先在项目中引用 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(2));
                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;
            }
        }
    View Code

    关于调用的类

     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;
            }
        }
    View Code

     下载BeITMemcached.dll

  • 相关阅读:
    【redis源码】(三)Zipmap
    【redis源码】(五)Ziplist
    mint 13 安装 phpunit
    【php】nginx phpfpm “session锁”问题
    linux 系统下 恢复被误删文件
    【python】python相关的那些事【一】python 中的变量
    【redis源码】(八) Intset.c
    【python】【scrapy】使用方法概要(三)
    【redis源码】(六)Ae.c
    【c++】关于默认构造函数
  • 原文地址:https://www.cnblogs.com/yonsy/p/4378521.html
Copyright © 2020-2023  润新知