环境配置
只配置从库,不用配置主库
127.0.0.1:6379> info replication #查看当前库信息
# Replication
role:master # 角色
connected_slaves:0 # 从机连接数
master_replid:357827a033cdaaaa7d44a9a8792d326d4a2ffe1c
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
复制3个配置文件,修改对应信息
1、端口
2、pid名字
3、log文件名字
4、dump.rdb名字
==默认情况下,每台redis服务器都是主节点==;我们一般只配置从机就好了,认老大!
slaveof 127.0.0.1 6379 # 成为127.0.0.1下的6379端口的redis从机 (认老大)
==注意:真正生产环境应该在配置环境中进行修改==
细节:主机可以写,从机只能读,主机中的所有信息和数据,都会自动被从机保存
复制原理
slave 启动成功连接到master后会发送一个sync同步命令
Master接到命令,启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,并完成一次完全同步。
全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
增量复制:master继续将新的所有收集到的修改命令依次传给slave,完成同步
但只要重新连接master,一次完全同步(全量复制)将被自动执行
slaveof no one
取消从机模式,成为主机模式