redis主从复制
配置主从复制
./redis-server 命令,如果后面不附加参数,它是按默认配置来启动 redis 服务的,其实它后面还可以附加一个配置文件路径的参数。在redis根目录下有一个redis.conf文件,可以直接使用这个文件来配置启动server
./redis-server ./redis.conf
windows的对应就是
redis-server.exe redis.windows.conf
vc=" src="https://www.cppentry.com/upload_files/article/57/1_bx2pl__.png" title="\" />
启动服务器
master

slave-1

slave-2

启动客户端


配置主从关系
master 的地址是127.0.0.1 端口是 6379
在两个slave客户端下面执行
SLAVEOF 127.0.0.1 6379


可以看的一些log信息
master

slave -01

slave -02

测试
在master上面设置一些测试数值
set weixuan hello set testkey testvalue
在slave端测试,看能不能拿到数据
slave -01 的日志

slave -02 的日志

原理
当你设置了主从关系后,slave 在第一次连接或者重新连接 master 时,slave 都会发送一条同步指令给 master ; master 接到指令后,开始启动后台保存进程保存数据,接着收集所有的数据修改指令 后台保存完了,master 就把这份数据发送给 slave,slave 先把数据保存到磁盘,然后把它加载到内存中,master 接着就把收集的数据修改指令一行一行的发给 slave,slave 接收到之后重新执行该指令,这样就实现了数据同步。 slave 在与 master 失去联系后,自动的重新连接。如果 master 收到了多个 slave 的同步请求,它会执行单个后台保存来为所有的 slave 服务
Error
在slave获取数据的过程中出现了磁盘空间不足的错误,但是没有找到原因,也没有其他报错信息。

?