首页 > 编程知识 正文

mybatis缓存配置,mybatis关闭缓存

时间:2023-05-05 07:23:38 阅读:32510 作者:352

为什么使用缓存?

对于经常执行查询而不经常更改的数据,每次查询都需要与数据库进行交互,因此效率会大幅降低。 缓存的优点是使用缓存将经常执行查询的数据存储在内存中,而对结果影响不大,从而减少与数据库的交互并提高效率。

mybatis中的一级缓存

一级缓存是指mybatis中SQLSession对象的缓存

执行查询操作时,查询结果保存在SqlSession提供的区域中。 此区域是映射结构,当您再次检查相同的数据时,mybatis会先去SQLSession中查找。 有的话直接拿来使用。 当SQLSession消失时,一级缓存也将消失

如何清空缓存?

使用SqlSession对象执行clearCache (方法SqlSession.clearCache );

注意 :

看了之后,您可能会怀疑,如果在两次查询一个数据时中途修改了该数据,第二次查询的结果是否会得到修改? 我能回答。 在mybatis中,不仅在使用clearCache ()、close )方法时,而且在清空缓存、添加、删除、修改数据、commit ()、close ()时,都是主缓存

mybatis中的二级缓存

l2缓存是mybatis中SqlSessionFactory对象的缓存,由同一SqlSessionFactory对象创建的SqlSession共享该缓存。

配置步骤:

另一方面,在配置文件config.xml中,将mybatis设置为支持使用辅助缓存settings标签中的cacheEnabled value设置为true

二.打开映射配置文件以支持辅助缓存和cache/标签

三、让当前操作支持二级缓存。 即,在选择标签上附加useCache='true '

(如果使用注释方法,请在Dao的类名中添加@cachenamespace(blocking=true )注释。)

注意

mybatis的l2缓存SqlSessionFactory存储的是数据而不是对象

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。