二级缓存功能
二级缓存功能是对查询出来的数据进行缓存,在缓存不失效的情况下,下次同样的查询操作都会从缓存内读取
使用缓存查询
var list=db.Queryable<Student, School>((s1, s2) => s1.Id == s2.Id).Select(s1 => s1).WithCache().ToList();//可以设置过期时间WithCache(60)
删除缓存
我们需要删除缓存也相当方便,只需要在对该表操作的时候加 RemoveDataCache 就能把查询中引用该表的缓存全部清除
db.Deleteable<Student>().Where(it => it.Id == 1).RemoveDataCache().ExecuteCommand();
创建db对象:
我们需要创建一个MyCache类,你可以用我写好的也可以用你自已写的实现缓存
我写好的Cache类
Redis:
.Net自带Cache:
使用技巧
解决分页缓存的难题,我们知道用到分页的表数的数据量都很大不可能使用缓存,所以提供了一个WithCacheIF的来方便的针对指定条件缓存
WithCacheIF(pageIndex<2) //只对页码小于2的进行缓存