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

Posted Damein_xym

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot2.X集成redis集群(Lettuce)连接相关的知识,希望对你有一定的参考价值。

前提:搭建好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)连接的主要内容,如果未能解决你的问题,请参考以下文章

Springboot2.x集成Redis哨兵模式

springboot2.x版本整合redis(单机/集群)(使用lettuce)

Redis的集成-SpringBoot2.X

Springboot2.x整合Redis以及连接哨兵模式/集群模式

Springboot2.X中使用Redis

Springboot2.x+shiro+redis整合填坑 redis只做缓存的情况