Java客户端操作redis集群

1.本篇博客的目的是想让大家看到客户端在操作redis集群时,集群会自动把key分配到不同的Redis主库节点上
2.看过我上一篇 Redis集群搭建的朋友,可以在上篇文章末尾的截图中看到,redis集群在9个redis节点中,自动分配了4个master节点,再用客户端连接集群,测试 读写操作会怎么样?
2.新建一个SpringBoot Maven项目,引入 spring-boot-starter-data-redis 包 , 在配置文件中连接Redis集群
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
# pool settings ...池配置
spring.redis.pool.max-active=100
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=2
spring.redis.pool.max-wait=5000
# redis cluster 地址
spring.redis.cluster.nodes=192.168.68.134:7000,192.168.68.134:7001,192.168.68.134:7002,192.168.68.135:7000,192.168.68.135:7001,192.168.68.135:7002,192.168.68.136:7000,192.168.68.136:7001,192.168.68.136:7002
spring.redis.timeout=5000
3.在项目中创建一个测试类,自动注入RedisTemplate,插入2个key,看看这2个key是否在一个redis节点上
@RunWith(SpringRunner.class)
@SpringBootTest
public class ExpendApplicationTests {
    @Autowired private StringRedisTemplate redisTemplate;
    @Test
    public void testRedisCluster(){
        redisTemplate.opsForValue().set("name","zhuyu1");
        redisTemplate.opsForValue().set("name1","zhuyu");
        System.out.println(redisTemplate.opsForValue().get("name1"));
    }
}

运行测试方法后,再通过Redis客户端,连接4个Redis主节点,可以看到测试方法中的key name与name1 分别插入到135:7000与134:7001 2个主节点上,那么说明Redis集群读操作达到了负载均衡
这里写图片描述

这里写图片描述

演示的示例都是没有密码,在正式环境中请配置好密码,安全很重要。

猜你喜欢

转载自blog.csdn.net/zhuyu19911016520/article/details/81115999