缓存的概念
java里缓存可以分两种情况,一种是JVM的缓存,这个是JVM与操作系统打交道用的,在使用java语言开发时,一般不用到。
一种是java语言缓存,这里的缓存是一种机制,不与任何硬件相关。比如一个 static的变量, 当第一次访问他时我们到文件里读他的值,以后访问时,直接把这个值返回去,这里省下了IO的时间,提高了效率,这就是一个简单的缓存机制。
一级缓存
一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构用于存储缓存数据。不同的sqlSession之间的缓存数据区域是互相不影响的。也就是他只能作用在同一个sqlSession中,不同的sqlSession中的缓存是互相不能读取的。
处理流程:
用户发起查询请求,查找某条数据,sqlSession先去缓存中查找,是否有该数据,如果有,读取;