再次测试,只产生一条sql语句,说明使用了缓存
当查询两次,如果控制台产生两条查询语句,说明mybatis不能同时缓存多条数据。
如果只产生一条查询语句,说明mybatis默认缓存多条数据
测试
(框架的缓存策略)
说明mybatis二级缓存开启,默认既可以缓存单条,也可以缓存多条数据
也可以通过mapper.xml中的userCache属性控制是否使用缓存
测试
此时表示多条数据的缓存已经关闭
小结
对于访问多的查询请求且用户对查询结果实时性要求不高,此时可采用mybatis二级缓存技术降低数据库访问量,提高访问速度
实现方法如下:通过设置刷新间隔时间,由mybatis每隔一段时间自动清空缓存,根据数据变化频率设置缓存刷新间隔flushInterval,比如设置为30分钟、60分钟、24小时等,根据需求而定
mybatis整合redis
稍微大型项目都会使用redis缓存
步骤与ehcache缓存几乎一致
1.配置pom依赖
<redis.version>2.9.0</redis.version>
<redis.spring.version>1.7.1.RELEASE</redis.spring.version>
redis.clients
jedis
${redis.version}
org.springframework.data
spring-data-redis
${redis.spring.version}
redis存储数据需要借助序列化器,序列化器的数据存储又要依赖于json的依赖jar包,因此还要导入json的相关依赖