mybatis的userCache和flushCache
来源:互联网 发布:手机输入法软件下载 编辑:程序博客网 时间:2024/06/10 12:47
在MyBatis中有flushCache、useCache这两个配置属性,分为下面几种情况:
(1)当为select语句时:
flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。
useCache默认为true,表示会将本条语句的结果进行二级缓存。
(2)当为insert、update、delete语句时:
flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。
(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
阅读全文
0 0
- mybatis的userCache和flushCache
- mybatis的userCache和flushCache
- MyBatis的flushCache和useCache
- MyBatis的flushCache和useCache的使用
- MyBatis的flushCache和useCache的使用
- MyBatis的flushCache和useCache的使用
- MyBatis的flushCache和useCache的使用
- MyBatis的flushCache和useCache的使用注意
- MyBatis的flushCache和useCache的使用注意
- 【mybatis】多次查询缓存的问题 flushCache为什么失效
- lock,flushCache,事务
- mybatis的#和$
- MyBatis #和$ 的区别
- Mybatis #和$ 的区别
- Mybatis - # 和 $ 的使用
- Mybatis #和$的区别
- Mybatis $和#的区别
- mybatis $ 和# 的区别
- Java基础学习笔记16——(Set集合,Collection集合总结)
- 【资料合集】阿里巴巴开源技术汇总——内含115个软件与100+技术文档、PDF下载
- C语言 二进制左右移运算小程序
- 字典学习与时间稀疏动态磁共振数据重建(二)
- 小程序文档
- mybatis的userCache和flushCache
- tomcat,Jboss,weblogic区别与比较
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- SpringMVC整合FreeMarker产生模板视图
- C# 实现反转数组总结
- json_encode
- web前端知识体系小结(转)
- 信息熵理解
- javascript开发QQ空间相册展示