redis中配置主从复制很是简单,有两种方式redis
第一种是修改redis.conf配置文件bash
# slaveof <masterip> <masterport> -- 放开这句的注释,填写上master的ip和port
若是master有密码的话,在下面这句配置master的密码测试
# masterauth <master-password>
重启slave服务,能够看到以下输出命令行
21080:S 05 May 22:32:15.220 * Connecting to MASTER 127.0.0.1:6379 21080:S 05 May 22:32:15.221 * MASTER <-> SLAVE sync started 21080:S 05 May 22:32:15.221 * Non blocking connect for SYNC fired the event. 21080:S 05 May 22:32:15.221 * Master replied to PING, replication can continue... 21080:S 05 May 22:32:15.221 * Trying a partial resynchronization (request 19832def39059f8b98713d79cf098b74c76f0b7a:281). 21080:S 05 May 22:32:15.221 * Successful partial resynchronization with master. 21080:S 05 May 22:32:15.221 * MASTER <-> SLAVE sync: Master accepted a Partial Resynchronization.
表明配置成功3d
第二种是在salve客户端执行命令code
127.0.0.1:6380> SLAVEOF 127.0.0.1 6379 OK
这时候能够看到slave服务端会自动输出跟上面相同的内容,就配置成功了ip
咱们进行测试get
在master的客户端上写入数据同步
127.0.0.1:6379> set sync_key 1 OK
从salve客户端进行get操做,能够看到数据能够正确的取出it
127.0.0.1:6380> get sync_key "1"
执行sync命令能够手动进行同步数据
因为配置文件中,默认slave服务端只能进行查询的操做,因此在slave命令行中执行写的操做会提示错误
127.0.0.1:6380> set haha1 1 (error) READONLY You can't write against a read only slave.