MyBatis<一级二级缓存><缓存更新机制>

MyBatis<一级二级缓存><缓存更新机制>_二级缓存 更新本地缓存-CSDN博客

 

 

同一个select,在同一个事务中(同一个sqlsesion对象),会优先从sqlsession缓存中获取。

容易出问题的代码:

在一个较大的事务中,某个函数A内调用了select,并且对结果进行了操作,比如set。然后在当前函数A中又调用了另一个函数B,函数B内也调用了此select,并且需要对结果进行判断。

因为在函数A中对结果进行了操作,并且缓存到了sqlsession中。所以在函数B中拿到的信息并不是和数据库中的一样。可能会对函数B的一些逻辑(权限,if等)判断有影响,导致整个事务逻辑失败。

posted @ 2024-04-02 16:31  忙碌了一整天的L师傅  阅读(11)  评论(0编辑  收藏  举报