其实这篇是为了Redis的Replication服务的
先看看redis的多重服务器吧。
先查看进程,是一个redis的服务器在跑,而且监听的是6379。
我们把redis文件夹下的redis.conf复制一份变成redis6380.conf,然后我们编辑
编辑主要是
改端口
让从服务器只读,不然就乱了
我们还是查看进程,只有默认端口的6379在跑,此时
./bin/redis-server redis6380.conf
就会启动第二个服务器
查看进程即可
ps -ef | grep redis
发现现在是两个进程在跑,监听6379和6380两个端口,两个redis服务器
我们连接上主服务器,然后查看keys,然后连接从服务器,也查看keys,发现都是一样的,然后我们在主服务器进行set两个key
在从服务器此时就能查到我们在主服务器上set的key了,而且还能get到值。这种就能弄分布式了,是不是够酷
明天回家,今天到此为止,明天会更新,有了这种主从服务器之后,我们怎么实现Replication
Replication的工作原理
在Slave启动并连接到Master之后,它将主动发送一个SYNC命令。此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。而Slave服务器在接收到数据库文件数据之后将其存盘并加载到内存中。此后,Master继续将所有已经收集到的修改命令,和新的修改命令依次传送给Slaves,Slave将在本次执行这些数据修改命令,从而达到最终的数据同步。
如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行。