一、什么是缓存

  --存在于内存中的临时数据。

  为什么使用缓存?--减少和数据库的交互次数,提高执行效率。

  适用于缓存的数据:

    1.经常查询并且不经常改变的数据。

    2.数据的正确与否对最终结果影响较小的。

  不适用于缓存的数据:   

    1.经常改变的数据。

    2.数据的正确与否对最终结果影响很大的。如:商品的库存,银行的汇率等。

二、MyBatis中的缓存

  一级缓存:指的是MyBatis中SqlSession的对象的缓存。

    当我们执行查询后,查询的结果会同时存入到SqlSession为我们提供的一块区域中。该区域结构是一个Map。当我们再次查询同样的数据,MyBatis会先去

SqlSession中查询是否有,有的话直接拿出来用。当SqlSession对象消失时,MyBatis的一级缓存也就消失了。

  二级缓存:指的是MyBatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。

    二级缓存使用:

      1.让MyBatis框架支持二级缓存(在SqlMapConfig.xml配置文件中配置)。

      2.在当前的映射文件中配置支持二级缓存(Mapper.xml配置文件中配置)。<cache/>

      3.让当前的操作支持二级缓存(在select标签中配置)。 配置属性  useCache="true"

最新文章

  1. 利用python的双向队列(Deque)数据结构实现回文检测的算法
  2. 接口测试之HTTP协议详解
  3. YII实现Memcache故障转移的配置办法
  4. 编写javascript、Jquery的String.format();
  5. 反射 reflect 初始学习
  6. Parallax Mapping Shader 凸凹感【转】
  7. jquery日历datepicker的使用方法
  8. Fire Net(dfs)
  9. IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题
  10. android LinearLayout等view如何获取button效果
  11. C#之委托(函数参数传递)【转】
  12. Linux 查询程序安装路径 是否安装
  13. C#解析HTML利器-Html Agility Pack
  14. FFT学习笔记
  15. JAVA 8 日期工具类
  16. React不同版本之间需要注意的地方
  17. FPGA中iic总线上,应答ACK解析
  18. Marlin 擠出頭溫度控制PID值校正
  19. Oracle_字符集问题(数据库与客户端字符集关联关系)
  20. 可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking

热门文章

  1. 容器技术之Docker常用命令说明
  2. vue-组件化-插槽(slot)
  3. Linux kernel学习(序)
  4. Java实现 蓝桥杯VIP 算法训练 无权最长链
  5. Java实现洛谷 P1062 数列
  6. Java实现蓝桥杯模拟带九9的数的个数
  7. Java实现 LeetCode 58 最后一个单词的长度
  8. Java实现二阶魔方旋转
  9. Java实现 泊松分酒
  10. Linux系统调用和ANSI C文件操作的区别