主从原理

首先slave连接到master,master会启动一个线程,并把最新的RDB文件发送给slave的,slave拿到之后做的第一件事情就是写进本地的磁盘,然后加载进内存。这个过程可能有新的写请求,master会通过AOF增量日志的方式将新数据同步给slave,就像MySQL的Binlog一样,把日志增量同步给slave服务
部署
master
# 修改redis.confvim redis.confbind 0.0.0.0port 6379logfile "6379.log"dbfilename "dump-6379.rdb"daemonize yesrdbcompression yes# 启动服务[root@redis1 bin]# ./redis-server redis.conf
slave
# 修改redis.confvim redis.confbind 0.0.0.0port 6380logfile "6380.log"dbfilename "dump-6380.rdb"daemonize yesrdbcompression yesslaveof 192.168.0.12 6379# 启动服务[root@redis2 bin]# ./redis-server redis.conf# 从机连接6380的客户端,查看同步数据[root@redis2 bin]# ./redis-cli -p 6380127.0.0.1:6380> get nu"4"
注意:
- 主机一旦发生增删改操作,那么从机会将数据同步到从机中
- 从机不能执行写操作,会报错
[root@redis2 bin]# ./redis-cli -p 6380127.0.0.1:6380> set test 123(error) READONLY You can't write against a read only slave.
