科技小数据 Redis系列(五):主从复制( 二 )


配置文件:在从服务器的配置文件中添加:slaveof
启动命令:redis-server启动命令添加:--slaveof
客户端命令:Redis服务器启动后 , 直接通过客户端命令:slaveof使得该Redis实例成为从节点
【注】:主从复制的开启 , 完全是在从节点发起的 , 不需要在主节点做任何操作 。
下面通过一个实例进行体验
Step1.本地启动两个节点
可以使用redis-server--port的方式指定创建两个不同端口的Redis实例 。 例如 , 分别创建了一个6379和6380的两个Redis实例:
#创建一个端口为6379的Redis实例redis-server--port6379#创建一个端口为6380的Redis实例redis-server--port6380
此时 , 两个Redis节点启动后 , 都默认是主节点 。
Step2.建立复制
在端口6380的节点中执行slaveof命令 , 使之成为从节点
#在6380端口的Redis实例使之成为本地6379端口实例的从节点redis-cli-p6380slaveof127.0.0.16379
Step3.开始复制
#在从节点中添加keySETmykeymyvalue#在从节点中查询 , 发现数据已经从主节点同步到从节点GETmykey
Step4.断开复制
通过slaveof命令建立主从复制关系以后 , 可以通过slaveofnoone断开 。 需要注意的是 , 从节点断开复制后 , 不会删除已有的数据 , 只是不再接受主节点新的数据变化 。
最后抛出一个问题大家思考:如果主服务器挂了 , 怎么办?因为我们的写请求由主服务器处理 , 只有一台主服务器 , 那就无法处理写请求了?