前言
JedisConnectionFacotory
从Spring Data Redis 2.0
开始已经不推荐直接显示设置连接的信息了,一方面为了使配置信息与建立连接工厂解耦,另一方面抽象出Standalone
,Sentinel
和RedisCluster
三种模式的环境配置类和一个统一的jedis客户端连接配置类(用于配置连接池和SSL连接),使得我们可以更加灵活方便根据实际业务场景需要来配置连接信息。
JavaConfig配置
不使用连接池
这里仅仅以Standalone
配置为例,其他情况类似。
1. 先创建RedisStandaloneConfiguration
2. 然后根据该配置实例来初始化jedis连接工厂。
@Bean
public JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration =
new RedisStandaloneConfiguration();
("localhost");
(0);
(("123456"));
(6380);
return new JedisConnectionFactory(redisStandaloneConfiguration);
}
@Bean
public StringRedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
return new StringRedisTemplate(redisConnectionFactory);
}
连接池配置
以上配置使用的是直接连接redis的方式,即每次连接都创建新的连接。当并发量剧增时,这会带来性能上开销,同时由于没有对连接数进行限制,则可能使服务器崩溃导致无法响应。所以我们一般都会建立连接池,事先初始化一组连接,供需要redis连接的线程取用。
首先我们定义连接池配置信息: