在 Spring Boot 中,可以使用 RedisTemplate 进行 Redis 的连接和操作。要连接多个 Redis 实例,你可以创建多个 RedisTemplate 实例,并通过配置不同的连接工厂来连接到不同的 Redis 实例。 首先,
          在 Spring Boot 中,可以使用 RedisTemplate 进行 Redis 的连接和操作。要连接多个 Redis 实例,你可以创建多个 RedisTemplate 实例,并通过配置不同的连接工厂来连接到不同的 Redis 实例。
首先,在 application.properties(或 application.yml)配置文件中添加 Redis 连接信息:
# 第一个 Redis 实例
spring.redis.host=127.0.0.1
spring.redis.port=6379
# 第二个 Redis 实例
spring.redis.second.host=127.0.0.1
spring.redis.second.port=6380然后,创建两个 Redis 连接工厂和对应的 RedisTemplate:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
@Configuration
public class RedisConfig {
    @Bean
    public RedisConnectionFactory redisConnectionFactory() {
        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setHostName("127.0.0.1");
        jedisConnectionFactory.setPort(6379);
        // 其他连接工厂配置...
        return jedisConnectionFactory;
    }
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(connectionFactory);
        // 其他 RedisTemplate 配置...
        return redisTemplate;
    }
    @Bean
    public RedisTemplate<String, Object> secondRedisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(secondRedisConnectionFactory());
        // 其他 RedisTemplate 配置...
        return redisTemplate;
    }
    @Bean
    public RedisConnectionFactory secondRedisConnectionFactory() {
        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setHostName("127.0.0.1");
        jedisConnectionFactory.setPort(6380);
        // 其他连接工厂配置...
        return jedisConnectionFactory;
    }
}现在你已经创建了两个 RedisTemplate 实例,分别连接到了不同的 Redis 实例。你可以通过在代码中注入这两个实例,并使用它们进行相应的操作。示例:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@Service
public class MyService {
    private final RedisTemplate<String, Object> redisTemplate;
    private final RedisTemplate<String, Object> secondRedisTemplate;
    @Autowired
    public MyService(RedisTemplate<String, Object> redisTemplate, RedisTemplate<String, Object> secondRedisTemplate) {
        this.redisTemplate = redisTemplate;
        this.secondRedisTemplate = secondRedisTemplate;
    }
    public void someMethod() {
        // 使用 redisTemplate 对第一个 Redis 实例进行操作
        redisTemplate.opsForValue().set("key1", "value1");
        // 使用 secondRedisTemplate 对第二个 Redis 实例进行操作
        secondRedisTemplate.opsForValue().set("key2", "value2");
    }
}