SpringBoot 集群 Redis 配置:使用 io.codis.jodis 实现 CodisConnectionFactory
使用 SpringBoot io.codis.jodis 实现配置集群 CodisConnectionFactory,首先需要在 pom.xml 文件中添加依赖:
<dependencies>
<dependency>
<groupId>io.codis</groupId>
<artifactId>jodis</artifactId>
<version>0.3.1</version>
</dependency>
</dependencies>
然后,在 Spring Boot 的配置类中定义 CodisConnectionFactory bean:
import io.codis.jodis.JedisResourcePool;
import io.codis.jodis.RoundRobinJedisPool;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.JedisPoolConfig;
@Configuration
public class CodisConfig {
@Value('${codis.zkAddr}')
private String zkAddr;
@Value('${codis.proxyDir}')
private String proxyDir;
@Bean
public JedisPoolConfig jedisPoolConfig() {
JedisPoolConfig config = new JedisPoolConfig();
// 设置连接池配置
return config;
}
@Bean
public JedisResourcePool jedisResourcePool(JedisPoolConfig jedisPoolConfig) {
return RoundRobinJedisPool.create().curatorClient(zkAddr, 30000).zkProxyDir(proxyDir)
.poolConfig(jedisPoolConfig).build();
}
@Bean
public CodisConnectionFactory codisConnectionFactory(JedisResourcePool jedisResourcePool) {
return new CodisConnectionFactory(jedisResourcePool);
}
}
在配置文件中配置 Codis 的 ZooKeeper 地址和代理目录:
codis.zkAddr=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
codis.proxyDir=/jodis/codis-test/proxy
然后,就可以在其他地方注入 CodisConnectionFactory 使用了:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
private final RedisConnectionFactory redisConnectionFactory;
@Autowired
public MyComponent(RedisConnectionFactory redisConnectionFactory) {
this.redisConnectionFactory = redisConnectionFactory;
}
// 使用 redisConnectionFactory 进行操作 Redis
}
这样就完成了使用 springBoot io.codis.jodis 实现配置集群 CodisConnectionFactory 的配置。
原文地址: https://www.cveoy.top/t/topic/pcQc 著作权归作者所有。请勿转载和采集!