一、主从模式介绍

Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。 

  

二、主从同步过程

1、全量复制

  

2、部分复制

  

三、主从模式搭建

  本例采用单例的1主1从的搭建方式。

服务类型角色IP地址端口
Redismaster127.0.0.16379
Redisslave127.0.0.16380

1、首先准备一个redis实例,参考【Redis】安装及简单使用

2、准备一份主配置文件,端口是6379

# 端口
port 6379

# 后台运行
daemonize yes

 3、准备一份从配置文件,端口是6380 在主配置文件的基础上,修改相应配置,并加上以下配置

# 从节点要跟随的主节点
replicaof 192.168.0.3 17007

 注意:如果主配置中设置了密码,从配置中需加上以下配置

# 主节点认证密码,如果设置了密码,就要设置
masterauth 123456

 

5、先启动主节点,然后启动从节点

  主节点启动命令:Redis-x64-5.0.10-master&&redis-server.exe redis.windows.conf

  从节点启动命令:Redis-x64-5.0.10-master&&redis-server.exe redis.windows.conf

6、redis客户端链接主节点,查看信息

  命令:Redis-x64-5.0.10-master/redis-cli -c -h 127.0.0.1 -p 6379 

  主节点信息:

127.0.0.1:6379> INFO Replication 
"# Replication
role:master
connected_slaves:1
slave0:ip=127.0.0.1,port=6380,state=online,offset=3374,lag=1
master_replid:900637825e0b11cef85bfe440d09f7eba7098b14
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3374
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3374
"

从节点信息: 

127.0.0.1:6380> INFO Replication 
"# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_repl_offset:3584
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:900637825e0b11cef85bfe440d09f7eba7098b14
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3584
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3584
"

7、测试,在主节点存入缓存,在从节点取出缓存

127.0.0.1:6379> set key val
OK
127.0.0.1:6379> get key   
"val"
127.0.0.1:6380> get key  
"val"

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐