主从复制Replicatio
- 一个Redis服务可以有多个该服务的复制品,这个Redis服务称为Master,其他复制称为Slaves
- 只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,保持主从同步
- 只有Master可以执行写命令,Slaves只能执行读命令
- 客户端可以连接Slaves执行读请求,来降低Master的读压力
主从复制的创建方式
1、配置当前服务成为某Redis服务的Slave
redis-server --slaveof <master-ip> <master-port>
例:#redis-server --port 6380 --slaveof 127.0.0.1 6379
重新开一个端口测试一下,数据库数据已经从6379复制到6380,并且slave为只读的。
redis-cli -p 6380
2、将当前服务器状态从Master修改为别的服务器的Slave
SLAVEOF host port
例:#SLAVEOF 127.0.0.1 6379,将服务器转换为Slave
#SLAVEOF NO ONE,将服务器重新恢复到Master,不会丢失已同步的数据
3、配置方式:启动时,服务器读取配置文件,并自动成为指定服务器的从服务器
slaveof <master-ip> <master-port>
例:在配置文件中写入-----slaveof 127.0.0.1 6379
(可以在配置文件中添加 【port 6380】管理默认启动端口为6380,也可以在命令行指定启动端口)
启动6380端口,并指定其作为6379的从服务器:redis-server 6380.conf --port 6380
