1. 程式人生 > >Springboot2.X集成redis集群(Lettuce)連接

Springboot2.X集成redis集群(Lettuce)連接

pro throws property top pub cluster sse rec pid

前提:搭建好redis集群環境,搭建方式請看:https://www.cnblogs.com/xymBlog/p/9300574.html

1. 新建工程,pom.xml文件中添加redis支持

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2. 配置application.properties

1 spring.redis.cluster.nodes=127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384,127.0.0.1:6385
2 
3 spring.redis.cluster.timeout=1000
4 
5 spring.redis.cluster.max-redirects=3

3. 新建下面的兩個類

@Configuration

public class RedisConfiguration {



    @Resource

    private LettuceConnectionFactory myLettuceConnectionFactory;



    @Bean

    public RedisTemplate<String, Serializable> redisTemplate() {

        RedisTemplate<String, Serializable> template = new RedisTemplate<>();

        template.setKeySerializer(new StringRedisSerializer());

        template.setValueSerializer(new GenericJackson2JsonRedisSerializer());

        template.setConnectionFactory(myLettuceConnectionFactory);

        return template;

    }



}

  

@Configuration

public class RedisFactoryConfig {



    @Autowired

    private Environment environment;



    @Bean

    public RedisConnectionFactory myLettuceConnectionFactory() {



        Map<String, Object> source = new HashMap<String, Object>();



        source.put("spring.redis.cluster.nodes", environment.getProperty("spring.redis.cluster.nodes"));



        source.put("spring.redis.cluster.timeout", environment.getProperty("spring.redis.cluster.timeout"));



        source.put("spring.redis.cluster.max-redirects", environment.getProperty("spring.redis.cluster.max-redirects"));



        RedisClusterConfiguration redisClusterConfiguration;

        redisClusterConfiguration = new RedisClusterConfiguration(new MapPropertySource("RedisClusterConfiguration", source));



        return new LettuceConnectionFactory(redisClusterConfiguration);

    }

}

  

4. 執行測試

@SpringBootTest
@RunWith(SpringRunner.class)
public class RedisConfigurationTest {

    @Autowired
private RedisTemplate redisTemplate;

@Test
public void redisTemplate() throws Exception {

        redisTemplate.opsForValue().set("author", "Damein_xym");
}

}

5. 驗證,使用Redis Desktop Manager 連接redis節點,查看裏面的數據是否存在author,有如下顯示,證明成功。

Springboot2.X集成redis集群(Lettuce)連接