码迷,mamicode.com
首页 > 其他好文 > 详细

使用缓存

时间:2015-02-11 16:19:15      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

以下演示了如何创建使用缓存

 首次查询后会创建缓存,下次再查询时,会按查询条件找到对应的缓存
以下缓存为异步更新,过期后会按条件异步重新查询最新数据,有线程单独维护 
缓存在两个周期未使用后,会自动清理

此缓存为前端缓存,直接缓存在WEB服务器内存中,重启时丢失失

    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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!