mybatis整合redis步骤
1.添加redis相关依赖
redis与spring的整合依赖
log4j2配置:Log4j2 + Slf4j
jackson
2.spring + redis 集成实现缓存功能(与mybatis无关)
添加两个redis的配置文件,并将redis.properties和spring-redis.xml配置到spring-context.xml文件中
将redis缓存引入到mybatis中
注意事项:
1、spring多配置文件的引入方式
2、pom中对properties文件的编译
3、加一个spring-xxx.xml一定记得在spring-Context.xml导入
. redis常用类
1.1 Jedis
jedis就是集成了redis的一些命令操作,封装了redis的java客户端
1.2 JedisPoolConfig
Redis连接池
1.3 ShardedJedis
基于一致性哈希算法实现的分布式Redis集群客户端
实现 mybatis 的二级缓存,一般来说有如下两种方式:
1) 采用 mybatis 内置的 cache 机制。
2) 采用三方 cache 框架, 比如ehcache, oscache 等等.
具体步骤:
1 添加redis相关依赖
<!-- redis与spring的整合依赖 -->
<redis.version>2.9.0</redis.version>
<redis.spring.version>1.7.1.RELEASE</redis.spring.version>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${redis.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>${redis.spring.version}</version>
</dependency>
版本冲突问题:
1. ClassNotFoundException : redis/client/util/geoUtils 说这个类找不到。
2. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisTemplate' defined in class path resource [applicationContext.xml]
说创建 redisTemplate bean 对象时失败了。
redis.client 2.9.0 ---- spring-data-redis 1.7.1.RELEASE
redis.client 2.9.0 ---- spring-data-redis 1.7.2.RELEASE 这两个是可以使用的
.1.2 log4j2配置:Log4j2 + Slf4j (mybatis整合ehcache时导入了)
1.3 jackson
<!-- jackson -->
<jackson.version>2.9.3</jackson.version>
<!-- jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
2.spring + redis 集成实现缓存功能(与mybatis无关)
2.1 添加两个redis的配置文件,并将redis.properties和spring-redis.xml配置到spring-context.xml文件中
redis.properties
redis.hostName=119.23.189.202
redis.port=6379
redis.password=123456
redis.timeout=10000
redis.maxIdle=300
redis.maxTotal=1000
redis.maxWaitMillis=1000
redis.minEvictableIdleTimeMillis=300000
redis.numTestsPerEvictionRun=1024