mybatis的userCache和flushCache

24 篇文章 0 订阅
在MyBatis中有flushCache、useCache这两个配置属性,分为下面几种情况:
(1)当为select语句时:
flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。
useCache默认为true,表示会将本条语句的结果进行二级缓存。
(2)当为insert、update、delete语句时:
flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。

useCache属性在该情况下没有。

flushCache为true的时候,每次调用都清理缓存,这样等于你每次调用都要重新读数据库和写缓存,自然很慢;

flushCache为false的时候,每次调用不清缓存,除了第一次调用较慢,后面都会很快。

flushCache:如果设成true,当语句调用时一级二级缓存都会被清理掉。select语句默认是false

useCache:如果设成true,语句调用的结果会缓存在二级缓存里。select语句默认是true

一般来讲,查询的时候会把useCache设成true,当然可能有些结果变化很频繁的查询可以设成false,因为这种做缓存效果不大。flushCache一般会设成false,因为查询不会改变数据库的结果,不需要去更新缓存

相反,我们做update或delete的时候,flushCache就要设成true了,因为可能会改变数据库的记录导致缓存失效。同时useCache就没必要设成true了,因为update或delete的结果缓存没啥意义

转载自:http://blog.csdn.net/danran0223/article/details/54176788

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值