zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    N46期第一周作业
    备份MBR分区表,并破坏后修复
    预习作业(五)作业
    预习作业(四)作业
    通过v$sqlarea,v$sql查询最占用资源的查询
    ORACLE快速彻底Kill掉的会话
    HTML5中修改表单验证默认提示语句
    input正则 常用正则(备用)
    使用扫描枪扫描条码时字符识别写入缓慢问题(针对element-ui的el-input)优化
    JQuery经验汇总
  • 原文地址:https://www.cnblogs.com/yonsy/p/4378521.html
Copyright © 2011-2022 走看看