为了账号安全,请及时绑定邮箱和手机立即绑定

Mybatis缓存详解

难度初级
时长 3小时 3分
学习人数
综合评分8.40
5人评价 查看评价
8.4 内容实用
8.4 简洁易懂
8.4 逻辑清晰

最新回答 / weixin_慕九州2048595
二级缓存中:一个SqlSession产生的二级缓存必须在关闭或者提交的时候才有效。因为只有关闭后,才知道你没有做更新等操作,产生的二级缓存才不会被销毁。这就跟事务是一样的,一个事务提交之后,其他的事务才能获取到 前面事务修改的数据。

最新回答 / burg_xun
感觉 没有什么好的方法 只有清空Redis缓存
老师讲课很仔细,让人很容易明白 。期待老师能出更多的课程~
注意了,二级缓存和自定义传反了。

最新回答 / burg_xun
我感觉没必要究竟于这个字眼, 脏读 在MySql 里面的表现 是 读到事物未提交的数据,改数据可能会发生回滚,所以叫脏读,数据库事物隔离级别  读未提交 是用来解决这个问题的。而这边老师 说的  脏读   是不同的SqlSessionFactory下的问题,这边你所说的 没法读到最新数据的问题,可以理解为脏读的呀,因为缓存来源是从数据库里面读然后缓存下来的,如果SqlSessionFactoryA 里面对数据做了更新, 这个时候SqlSessionFactoryB 里面的可能还是旧的数据,也可以称之为脏数...
集成redis,useCache配置仍然可以用,我测试的结构是这样
https://github.com/runzhenghengbin/mybatisCache 参照老师写的源码

最赞回答 / ITLover
Mybatis Cache一级缓存特点自动启用通过在setting中设置localCacheScope= STATEMENT(默认为SESSION)全局禁用一级缓存在Dao接口方法上添加注解:@Options(flushCache=Options.FlushCachePolicy.True),禁用这个方法的一级缓存命中原则,同一SqlSession内,以下5个条件组成key,放入缓存中:条件一:statementId相同条件二:sql上用到的参数要一样条件三:分页参数要一样 条件四:sql语句的文本要一样...
讲的非常好。。。
谢谢老师,讲得很好

最新回答 / 阿阿影
现实中不会把这么多功能放在一个事务中吧。。。

最赞回答 / 阿阿影
你想让它炸它肯定能炸,哈哈哈哈,何必为难人家,让它做力所能及的事不好吗
课程须知
1. 需要懂得java语言 2. 需要懂得xml语法规则 3. 需要懂得sql语句的使用,能否使用sql完成基本的CRUD操作 4. 需要懂得mybatis的基本使用方法,能够使用mybaits完成基本的CRUD操作 5. 需要懂得log4j或其他日志框架的使用方法
老师告诉你能学到什么?
1、mybatis一级缓存的原理及使用 2、mybatis二级缓存的原理及使用 3、mybatis自定义缓存的原理及使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消