SpringBoot CodisTemplate 设置配置实现
要使用Spring Boot的CodisTemplate,需要在配置文件中设置以下属性:
- 添加CodisTemplate的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-core</artifactId>
</dependency>
- 在application.properties文件中添加Codis的配置:
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.database=0
spring.redis.password=
spring.redis.pool.max-active=8
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-wait=-1
- 创建CodisTemplate的配置类:
@Configuration
public class CodisTemplateConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.database}")
private int database;
@Value("${spring.redis.pool.max-active}")
private int maxActive;
@Value("${spring.redis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.pool.min-idle}")
private int minIdle;
@Value("${spring.redis.pool.max-wait}")
private int maxWait;
@Bean
public JedisPoolConfig jedisPoolConfig() {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(maxActive);
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMinIdle(minIdle);
jedisPoolConfig.setMaxWaitMillis(maxWait);
return jedisPoolConfig;
}
@Bean
public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig jedisPoolConfig) {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName(host);
jedisConnectionFactory.setPort(port);
jedisConnectionFactory.setPassword(password);
jedisConnectionFactory.setDatabase(database);
jedisConnectionFactory.setPoolConfig(jedisPoolConfig);
jedisConnectionFactory.setUsePool(true);
jedisConnectionFactory.afterPropertiesSet();
return jedisConnectionFactory;
}
@Bean
public CodisTemplate codisTemplate(JedisConnectionFactory jedisConnectionFactory) {
CodisTemplate codisTemplate = new CodisTemplate();
codisTemplate.setConnectionFactory(jedisConnectionFactory);
codisTemplate.afterPropertiesSet();
return codisTemplate;
}
}
- 在需要使用CodisTemplate的地方注入CodisTemplate,并使用它进行Redis操作:
@Autowired
private CodisTemplate codisTemplate;
public void doSomething() {
codisTemplate.opsForValue().set("key", "value");
String value = codisTemplate.opsForValue().get("key");
System.out.println(value);
}
这样就可以通过CodisTemplate来操作Codis集群中的数据了。
原文地址: https://www.cveoy.top/t/topic/i7c1 著作权归作者所有。请勿转载和采集!