reids主从复制,保持数据库一致
一.主服务器可以进行读写,从服务器只能进行读。
二.在同一台服务器上新增加一台redis 对应端口8887
1、cp -r /usr/redis /usr/redis2
2、修改配置/usr/redis2/redis.conf
port 6379 改为 port 8887
pidfile /var/run/redis_6379.pid pidfile 改为 /var/run/redis_8887.pid
3. 开启6379、8887的redis
redis-cli -h 10.3.2.12 -p 6379
redis-cli -h 10.3.2.12 -p 8887
三、6379作master ,8887作slave ,开启replication
如何配置Replication:
见如下步骤:
1). 同时启动两个Redis服务器,可以考虑在同一台机器上启动两个Redis服务器,分别监听不同的端口,如6379和8887。
2). 在Slave服务器上执行一下命令:
/> redis-cli -p 8887 #这里我们假设Slave的端口号是8887
redis 10.3.2.12:8887> slaveof 10.3.2.12 6379 #我们假设Master和Slave在同一台主机,Master的端口为6379
OK
上面的方式只是保证了在执行slaveof命令之后,redis_8887成为了redis_6379的slave,一旦服务(redis_8887)重新启动之后,他们之间的复制关系将终止。
如果希望长期保证这两个服务器之间的Replication关系,可以在redis_8887的配置文件中做如下修改:
/> cd /etc/redis #切换Redis服务器配置文件所在的目录。
/> ls
6379.conf 8887.conf
/> vi 8887.conf
将
# slaveof <masterip> <masterport>
改为
slaveof 10.3.2.12 6379
保存退出。
这样就可以保证Redis_8887服务程序在每次启动后都会主动建立与Redis_6379的Replication连接了
关闭 redis-cli -h 10.3.2.12 -p 8887 shutdown
启动 ./redis-server redis.conf