SpringBoot CodisTemplate 配置与使用教程

使用 Spring Boot 的 CodisTemplate 需要在配置文件中设置以下属性:

  1. 添加 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>
  1. 在 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
  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;
    }
}
  1. 在需要使用 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 集群中的数据了。

SpringBoot CodisTemplate 配置与使用教程

原文地址: https://www.cveoy.top/t/topic/l3ax 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录