• 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;
             }
  • 相关阅读:
    1104.整除问题
    1101.表达式求值(难)
    1102.最小子面积矩阵
    1095.2的幂次方
    1094.String matching
    1093.WERTYU
    1096.日期差值
    1092.Fibonacci
    车站解题程序
    阶乘之和解题程序
  • 原文地址:https://www.cnblogs.com/adolphyang/p/4844780.html
Copyright © 2020-2023  润新知