问答详情
源自:4-1 mybatis自定义缓存

二级缓存脏读问题

我请教下,这个二级缓存的读不到最新数据的问题,能称为“脏读”吗? 不是说读到其他事务未提交的数据,才算脏读吗? 希望老师指教,谢谢

提问者:孙悟空空空空 2020-06-26 20:22

个回答

  • burg_xun
    2020-08-16 22:19:26

    我感觉没必要究竟于这个字眼, 脏读 在MySql 里面的表现 是 读到事物未提交的数据,改数据可能会发生回滚,所以叫脏读,数据库事物隔离级别  读未提交 是用来解决这个问题的。而这边老师 说的  脏读   是不同的SqlSessionFactory下的问题,这边你所说的 没法读到最新数据的问题,可以理解为脏读的呀,因为缓存来源是从数据库里面读然后缓存下来的,如果SqlSessionFactoryA 里面对数据做了更新, 这个时候SqlSessionFactoryB 里面的可能还是旧的数据,也可以称之为脏数据,感觉没问题哈~ 上面都是我自己的理解 ,仅供参考! 所以说MBatis 里面 说有脏读的问题  都是这个意思,不管是说同一个SqlSession下的一级缓存问题,还是这个!感觉最终的表述就是没有读取到最新的数据,那读到就是脏数据,这么去理解 也是没问题的!