新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

mybatis二级缓存的原理是什么,mybatis二级缓存开启

发布时间:2023-10-08 22:31:55

mybatis二级缓存的原理是甚么

MyBatis的二级缓存是指缓存在SqlSessionFactory级别的缓存,可以被多个SqlSession共享。
其原理以下:

  1. 当一个查询语句被履行时,MyBatis会首先检查二级缓存中是否是存在相应的缓存数据,如果存在,则直接返回缓存结果。
  2. 如果二级缓存中不存在相应的缓存数据,则会去数据库中履行相应的查询语句,并将查询结果缓存到二级缓存中。
  3. 当其他SqlSession履行相同的查询语句时,会先检查二级缓存中是否是存在相应的缓存数据,如果存在,则直接返回缓存结果,而不再去数据库中履行查询语句。
  4. 当对数据库中的数据进行新增、修改、删除等操作时,会清空相应的二级缓存数据,以保证缓存数据的一致性。

需要注意的是,MyBatis的二级缓存是默许开启的,但其实不是所有的查询语句都合适使用二级缓存。对频繁变动的数据,还是对数据一致性要求较高的场景,建议禁用二级缓存。可以通过在映照文件中的