转载的地址:https://blog.csdn.net/m0_37659871/article/details/81024068#commentBox
springboot整合redis修改分区
问题由来
最近使用springboot整合redis,一个系统动态数据源连接不同数据库,缓存使用的redis,那么就需要将不同数据库的数据缓存到redis不同的分区,也就是不同的库中。
老版解决
这里的老版指的是2.0之前的,我使用的1.5.9是ok的。
redis的配置类这里就不贴了,网上很多。
1.使用JedisConnectionFactory修改
@Autowired
JedisConnectionFactory jedisConnectionFactory;
jedisConnectionFactory.setDatabase(database);
1
2
3
4
2.使用redisTemplate修改
redisTemplate.getConnectionFactory().getConnection().select(database);
1
以上两种方式不需要再redis配置类中特意添加bean
新版解决
这里的新版指的是2.0之后的,我用的是2.0.3
redis配置类中需要添加以下bean
@Bean
RedisStandaloneConfiguration redisStandaloneConfiguration() {RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();redisStandaloneConfiguration.setHostName("localhost");redisStandaloneConfiguration.setPort(6379);redisStandaloneConfiguration.setDatabase(0);return redisStandaloneConfiguration;
}@Bean
JedisConnectionFactory jedisConnectionFactory(RedisStandaloneConfiguration redisStandaloneConfiguration) {//redisStandaloneConfiguration.setPassword(RedisPassword.of(password));JedisClientConfiguration.JedisClientConfigurationBuilder jedisClientConfiguration = JedisClientConfiguration.builder();jedisClientConfiguration.connectTimeout(Duration.ofMillis(0));// connection timeoutJedisConnectionFactory factory = new JedisConnectionFactory(redisStandaloneConfiguration,jedisClientConfiguration.build());return factory;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
使用RedisStandaloneConfiguration修改
@Autowired
RedisStandaloneConfiguration redisStandaloneConfiguration;
redisStandaloneConfiguration.setDatabase(database);
作者:程序员阿哲
来源:CSDN
原文:https://blog.csdn.net/m0_37659871/article/details/81024068
版权声明:本文为博主原创文章,转载请附上博文链接!