Jedis 连接主从复制

Redis 为了提高效率和数据备份,提供了主从复制。在主从复制的中,数据库分为两类,一类是主数据库(master),另一类是从数据(slave)。主数据可以进行读写操作,当写操做导致数据变化时自动将数据同步给从数据库。从数据库一般是只读的,并接收主数据同步过来的数据。

下面将介绍怎样通过 jedis 来连接到主从复制的 Redis 服务。

注意:如何搭建 Redis 主从服务架构,请参考“Redis 主从复制”。

一主一从

该实例将演示 Jedis 怎样连接到一主一从,代码如下:

// 创建主库对象
Jedis master = new Jedis("127.0.0.1", 6379);
// 创建从库对象
Jedis slave = new Jedis("127.0.0.1", 6378);
// 将 6378 端口的 Redis 设置为 6379 端口 Redis 的从库
slave.slaveof("127.0.0.1", 6379);

// 写入数据到主库 Master
master.set("title", "www.hxstrive.com");

// 从读库读取数据
String result = slave.get("title");
System.out.println("从库读取的值=" + result);

上面代码中,直接通过创建 Jedis 的对象来建立到 Redis 的连接,然后通过 Jedis 的 slaveof() 方法将某个 Redis 设置为另一个 Redis 的从 Redis。

一主多从

该实例将演示 Jedis 连接到一主多从,代码如下:

// 创建主库对象
Jedis master = new Jedis("127.0.0.1", 6379);

// 创建从库对象
Jedis slave1 = new Jedis("127.0.0.1", 6378);
// 将 6378 端口的 Redis 设置为 6379 端口 Redis 的从库
slave1.slaveof("127.0.0.1", 6379);

// 从库2
Jedis slave2 = new Jedis("127.0.0.1", 6377);
slave2.slaveof("127.0.0.1", 6379);

// 写入数据到主库 Master
master.set("title", "www.hxstrive.com");

// 从读库读取数据
String result = slave1.get("title");
System.out.println("从库1读取的值=" + result);

result = slave2.get("title");
System.out.println("从库2读取的值=" + result);

上面代码中,创建 Jedis 的方式和一主一从一样,两个 Slave 都是使用 Jedis 的 slaveof() 方法来将自己设置为另一个 Redis 的从 Redis。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号