读写分离模式不适合使用mybatis二级缓存

某个项目中使用了读写分离,但研究发现这种方式不适合使用mybatis二级缓存。


原因分析:

mybatis二级缓存是基于同一个namespace的,不同namespace下的操作是互不影响的。读写分离的结果就是每个实体读与写的数据源不同,即namespace也会不同。

读和写的二级缓存不是同一个,所以当写更新对象的时候,写的二级缓存自动失效了,但是读的二级缓存却不会失效,还会继续使用该缓存。

这样就会导致弱一致性。无论页面如何刷新,结果还是展示没更新之前的结果。

猜你喜欢

转载自blog.csdn.net/deel_feel/article/details/80049662