文章参照:
http://gitbook.cn/gitchat/column/5a4ce2005e04d7622ba2b256/topic/5a4d9090b16db6596f5a3d72
以 Spring Boot 为例分别介绍一下这四种配置方法:
(1)基本使用;
(2)连接池的使用;
(3)高可用连接(master/salve);
(4)客户端分片。
添加 Spring Data Redis 依赖
<!--如果是 Spring Boot 项目直接添加 spring-boot-starter-data-redis 即可。-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
分析一下源码
一旦当我们使用 Spring Boot,其实任何一个 starter 都会引入 spring-boot-autoconfigure 的 jar 包,然后 autoconfigure 就会做很多事情。
SpringBootStarterRedis 源码分析
我们用 Spring Boot 都知道 starter 的原理(spring-boot-autoconfigure.jar 包里面的 spring.factories 定义了 Spring Boot 默认加载的 AutoConfiguration),因此,打开 spring.factories 文件可以找到 Spring 自动加载了。
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,
org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration,
这两个 Configuration 类,我们先打开 RedisAutoConfiguration 的源码 ,来一起看一下里面的关键代码片段。
(1)代码片段一:自动加载 JedisConnectionFactory。
@Bean
@ConditionalOnMissingBean(RedisConnectionFactory.class)
public JedisConnectionFactory redisConnectionFactory()
throws UnknownHostException {
return applyProperties(createJedisConnectionFactory());
}
通过这一段代码可以看到,JedisConnectionFactory 可以自己配置也可以直接用 Spring Boot 给我们提供的默认配置。
(2)代码片段二:查看 createJedisConnectionFactory() 的具体方法。
private JedisConnectionFactory createJedisConnectionFactory