标签:
首次查询后会创建缓存,下次再查询时,会按查询条件找到对应的缓存
以下缓存为异步更新,过期后会按条件异步重新查询最新数据,有线程单独维护
缓存在两个周期未使用后,会自动清理
var query = Code.ProductDataManage.Instance.GetLamadaQuery(); //缓存会按条件不同缓存不同的数据,条件不固定时,慎用 query = query.Where(b => b.Id < 700); int exp = 10;//过期分钟 var list = Code.ProductDataManage.Instance.QueryList(query, exp);
//默认过期时间为5分钟 //AllCache可重写条件和过期时间,在业务类中实现即可 //当插入或更新当前类型对象时,此缓存中对应的项也会更新 var list = Code.ProductDataManage.Instance.QueryFromAllCache(b => b.Id < 700);
var list = Code.ProductDataManage.Instance.AllCache;//指定一个数据源 #region 常规查找 多次计算和内存操作,增加成本 var list2 = list.Where(b => b.Id > 0);//执行一次内存查找 bool a = false; if (a) { list2 = list.Where(b => b.Number > 10);//执行第二次内存查找 } #endregion #region 优化后查找 只需一次 CRL.ExpressionJoin query = new CRL.ExpressionJoin(b=>b.Id>0); if (a) { query.And(b => b.Number > 10);//and 一个查询条件 } list2 = query.Where(list);//返回查询结果 只作一次内存查找 #endregion
标签:
原文地址:http://www.cnblogs.com/hubro/p/4286283.html