创建一个新的实例

wget http://download.redis.io/redis-stable.tar.gz

tar -xvf redis-stable.tar.gz
cd redis-stable
make
make PREFIX=/some/other/directory install

启动slave实例

/some/other/directory/bin/redis-server /path/to/redis/redis.conf

开启复制

如果master要认证的话,要先认证下先,在slave的实例中的redis-cli启动后,输入以下命令

config set masterauth <password>

然后开始复制:

slaveof materIP masterPort

检查是否复制完成

检查从slave的日志文件,如果出现如下的提示,表明复制成功:

15293:S 23 Nov 16:21:37.560 * MASTER <-> SLAVE sync: Flushing old data
15293:S 23 Nov 16:21:37.560 * MASTER <-> SLAVE sync: Loading DB in memory
15293:S 23 Nov 16:21:50.799 * MASTER <-> SLAVE sync: Finished with success

查看主从的INFO信息

在主从实例中,都执行INFO命令,查看键数等是否一致.

允许从实例进行写操作

默认情况下,redis的从slave实例是只读的,要开启写的话,可以在slave上执行:

config set slave-read-only no

配置你的应用(客户端使用新的slave的连接信息)

从切换为主

在slave上执行以下命令(要在没有命令执行的情况下进行切换,可以在slave上执行MONITOR命令查看情况),如果没有的话,就可以切换了:

SLAVEOF NO ONE

即可关闭复制,成为主实例.