这里我们采用了 RedisTemplate 实现对缓存的操作,而不是采用 jedis,原因在于Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便与其他Spring框架进行搭配使用。
在一级缓存中,sqlSession使用HashMap来进行缓存的存储,二级缓存默认也是用HashMap进行缓存的存储,为了保证数据的持久性也需要定时将缓存的数据刷新至硬盘,也可以使用第三方的集成工具如:Redis,来进行缓存的持久化,但是内存的空间是有限的,如果不停地向HashMap中put K-V键值对,那么肯定有一时刻会导致内存不足产生OOM。
存储位置:MyBatis缓存是存储在内存中的,而Redis缓存是存储在Redis服务器中的。 作用范围:MyBatis缓存是应用级别的缓存,只对当前应用的所有会话有效;而Redis缓存是跨应用级别的缓存,可以被多个应用共享。 缓存粒度:MyBatis缓存是基于对象的粒度,即将查询结果对象缓存起来;而Redis缓存可以存储任何类型的数据,可以更加灵活地...
privateReadUserMapper userMapperRead;@AutowiredprivateStringRedisTemplate stringRedisTemplate;@AutowiredprivateRedisTemplate<String, Serializable> redisCacheTemplate;@AutowiredprivateUserServices userServices;@RequestMapping(value ="/alluser.do",method = RequestMethod.GET)publicString getallusers(Model model) { ...
1.使用 Mybatis整合Redis实现分布式缓存 POM坐标 <dependency><groupId>org.mybatis.caches</groupId><artifactId>mybatis-redis</artifactId><version>1.0.0-beta2</version></dependency> application.properties 中配置 # 开启缓存 mybatis-plus.configuration.cache-enabled=true##redis 配置 ...
2.2、自定义缓存类 MybatisRedisCache缓存工具类如下:package com.micromaple.my.project.server.utils;...
今天这篇博客学习下Mybatis操作中使用Redis做缓存。这里其实主要学习几个注解:@CachePut、@Cacheable、@CacheEvict、@CacheConfig。 一、基础知识 @Cacheable @Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存 参数解释example value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 ...
● 默认的缓存是缓存到java的进程(jvm的内存空间)中,若是缓存内容过多,会出现内存溢出(OOM),需要选择第三方的缓存技术,例如redis、ehcache。 3-1、MyBatis中一级缓存的情况:【基于SqlSession】 ■ 一级缓存【本地缓存】,默认开启,不能关闭。 好比是在SqlSession中存在一个Map,用来缓存查询出来的对象。
redisTemplate.afterPropertiesSet(); return redisTemplate; } 3,编写mybatis的自定义缓存类 import org.apache.ibatis.cache.Cache; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.redis.core.RedisCallback; ...
redis.properties 测试 源码分析 ⼀级缓存 缓存验证 在⼀个sqlSession中,对user表根据username进⾏两次查询,查看他们发出sql语句的情况 代码语言:javascript 复制 @Testpublicvoidtest1()throws IOException{InputStream resourceAsStream=Resources.getResourceAsStream("sqlMapConfig.xml");SqlSessionFactory sqlSessionFactor...