zoukankan      html  css  js  c++  java
  • Cache缓存

             /// <summary>
             /// 根据某字段 从缓存中 查询所有未删除经排序后的实例集合
             /// </summary>
             /// <param name="type">实例的类型</param>
             /// <param name="fieldStr">字段字符串:“CourseId=1" </param>
             /// <param name="fieldValue">该字段的值:1</param>
             /// <param name="status">状态:1正常,2禁用,3删除</param>
             /// <param name="fieldOrder">排序字段:"NO"</param>
             /// <returns>从缓存中 查询所有未删除经排序后的实例集合</returns>
             public List<object> SelectModelByCacleByField(Type type, string fieldStr, object fieldValue, long status, string fieldOrder)
             {
                 string className = type.Name;
                 string cacle_key = className + fieldValue;
                 List<object> list = (List<object>)HttpRuntime.Cache[cacle_key];
                 if (list==null || list.Count <= 0) //如果缓存中没有就从DB中获取
                 {
                     List<object> listDB = new MyORM_BLL().SelectModelByField(type, fieldStr, status, fieldOrder);
                     if (listDB.Count > 0) //把数据库中获得的数据进行缓存
                     {
                         int ModelCache = Convert.ToInt32(ConfigurationManager.AppSettings["ModelCache"]);
                         HttpRuntime.Cache.Insert(cacle_key, listDB, null, DateTime.Now.AddSeconds(ModelCache), TimeSpan.Zero);
                     }
                     list = listDB;
                 }
                 return list;
             }
    
             /// <summary>
             /// 根据ID 从缓存中 查询未删除的实例
             /// </summary>
             /// <param name="type">实例类型</param>
             /// <param name="status">状态:1正常,2禁用,3删除</param>
             /// <param name="id">实例ID</param>
             /// <returns>从缓存中 查询未删除的实例</returns>
             public object SelectModelByCacheById(Type type, long status, int id)
             {
                 string className = type.Name;
                 string cacle_key = className + id;
                 object obj = (object)HttpRuntime.Cache[cacle_key];
                 if (obj == null) //如果缓存中没有就从DB中获取
                 {
                     object objDB = new MyORM_BLL().SelectModelById(type, status, id);
                     if (objDB != null) //把数据库中获得的数据进行缓存
                     {
                         int ModelCache = Convert.ToInt32(ConfigurationManager.AppSettings["ModelCache"]);
                         HttpRuntime.Cache.Insert(cacle_key, objDB, null, DateTime.Now.AddSeconds(ModelCache), TimeSpan.Zero);
                     }
                     obj = objDB;
                 }
                 return obj;
             }
  • 相关阅读:
    手动安装cockpit(linux web consol)
    fedora 安装apc smart750 UPS
    windows自动登录和域电脑自动登录域
    docker常用命令
    samba
    ETF:pcf文件制作
    ETF计算公司:现金差额
    ETF参数:现金替代标志
    ETF计算公式:IOPV
    ETF:现金替代标志
  • 原文地址:https://www.cnblogs.com/adolphyang/p/4844780.html
Copyright © 2011-2022 走看看