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集群读操作达到了负载均衡
演示的示例都是没有密码,在正式环境中请配置好密码,安全很重要。
还没有评论,来说两句吧...