您当前的位置: 首页 >  缓存

陈橙橙丶

暂无认证

  • 2浏览

    0关注

    107博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Mybatis(一)理解一级缓存和二级缓存

陈橙橙丶 发布时间:2021-09-03 17:38:31 ,浏览量:2

Mybatis包含一个强大的查询缓存特性,使用缓存可以使应用更快地获取数据,避免频繁的和数据库进行交互。

一级缓存

1.一级缓存也叫 应 用 缓 存 \color{red}应用缓存 应用缓存,Mybatis会默认启用一级缓存,如果想要关闭一级缓存可以在 s e l e c t \color{red}select select标签上添加 flushCache=“true” 2.一级缓存存在于SqlSession的生命周期中,在同一个SqlSeesion中查询,Mybatis会把执行的方法和参数通过算法生成缓存的键值,将键值和查询结果存放于一个Map对象中,如果同一个SqlSession中执行的方法和参数完全一致,那么通过算法会生成相同的键,当Map缓存对象中已经存在该键值时,则会返回缓存中的对象; 注 意 : 任 何 的 I N S E R T 、 U P D A T E 、 D E L E T E 操 作 都 会 清 空 一 级 缓 存 \color{red}注意:任何的INSERT、UPDATE、DELETE 操作都会清空一级缓存 注意:任何的INSERT、UPDATE、DELETE操作都会清空一级缓存

二级缓存

1.二级缓存存在于sqlSessionFactory的生命周期中,可以理解为跨sqlSession;缓存是以namespace为单位的,不同的namespace下的操作互相不影响 2.setting参数cachedEnabled,这个参数是二级缓存的全局开关,默认值是true,如果把这个参数设置为false,即使后面存在二级缓存的配置,也不会生效。 3.要开启二级缓存,你需要在sql映射文件中添加配置

关注
打赏
1648473527
查看更多评论
0.0389s