Java客户端操作redis集群

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

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

这里写图片描述

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

发表评论

表情:
评论列表 (有 0 条评论,386人围观)

还没有评论,来说两句吧...

相关阅读