SpringBoot CodisTemplate 配置与使用教程
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/l3ax 著作权归作者所有。请勿转载和采集!