Updateable和Insertable执行二级缓存,会影响到数据库吗? 返回

求助
8 994

如题

请教sqlsugar的二级缓存,如果执行Insertable的二级缓存语句,会添加到数据库并增加二级缓存吗??还是说只操作缓存,不操作数据库?

热忱回答8

  • 边界 边界 VIP0
    2019/1/14

    添加数据是直接执行语句添加到数据库不是添加到二级缓存

    0 回复
  • 插入可以删除缓存,缓存只是查询不在查询数据库

    0 回复
  • Sunday* Sunday* VIP0
    2019/1/22

    自己结贴,问了老大,只要是有关联的查询的表会自动缓存,如果数据有变化,会自动删除,再查的时候会再缓存。这个很方便,简单的缓存功能可以由sugar来实现。

    0 回复
  • 我在Updateable和Insertable执行RemoveDataCache,抛错:未实现该方法或操作。



    0 回复
  • image.png

    0 回复
  • Sunday* Sunday* VIP0
    2019/12/27

    @黑小黑不黑:缓存方法有接口,需要自己来实现。不知道你是否实现了接口。

    0 回复
  • Sunday* Sunday* VIP0
    2019/12/27

    补充下:

    #region 注意:二级缓存使用注意事项

    //参考:http://www.codeisbug.com/Doc/8/1156

    //var list=db.Queryable<Student, School>((s1, s2) => s1.Id == s2.Id)

    //.Select(s1 => s1).WithCache().ToList();//可以设置过期时间WithCache(60)


    //缓存的更新全靠 增删改的方法


    //注意:下面的代码是,删除表的数据并且删除缓存

    // db.Deleteable<Student>().Where(it => it.Id == 1).RemoveDataCache().ExecuteCommand();


    //同理 Updateable和Insertable一样用法

    //DBServices.DB_Base.Instance.Insertable(mo).Where(true, false).RemoveDataCache().ExecuteReturnIdentity();//添加数据,并删除缓存


    //DBServices.DB_Base.Instance.Updateable(mo)

    //.UpdateColumns(p => new {p.MBOroleName, p.remark, p.state, p.DepartmentId})

    //.Where(p => p.id == int.Parse(Request["id"]))

    //.RemoveDataCache().ExecuteCommand();//更新数据并删除缓存

    #endregion


    0 回复
  • @Sunday*:嗯,已经解决,就是缓存类有个方法没有实现,所以导致报错。

    0 回复

版块

学习文档

最新会员

发布达人

回贴达人