单机多实例Redis主从复制配置
Master Redis的主要配置文件如下:
/etc/init.d/redis_6379 开机启动
/etc/redis/redis_6379.conf 配置
/var/lib/redis/data/ 数据存储目录
/var/log/redis_6379.log 日志
/var/run/redis_6379.pid 进程id
以上文件通过运行压缩包的./install_server.sh生成。
/etc/redis/redis_6379.conf文件由官方压缩包提供。
Slave Redis的配置文件如下(复制Master对应文件):
/etc/init.d/redis_6380 开机启动
/etc/redis/redis_6380.conf 配置
/var/lib/redis/data_6380/ 数据存储目录
/var/log/redis_6380.log 日志
/var/run/redis_6380.pid 进程id
在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。
在Master Redis的/etc/redis/redis_6379.conf文件中注释掉所有save。
设置appendonly为yes。
requirepass密码可选。
然后,在slave的配置文件中增加类似下面这行的内容:
slaveof localhost 6379
localhost 表示本机,6379表示master redis实例。
如果master redis配置了密码,还要添加如下内容:
masterauth 123456
123456表示master redis的密码。
最后设置appendonly为yes和启用所有save。
通过一下命令启动slave redis实例(master redis已启动的前提下):
redis-server /etc/redis/redis_6380.conf
然后通过以下命令查看是否启动成功:
ps aux|grep redis
也可以查看slave的日志:
最后通过redis-cli客户端分别连接到主从redis实例查看数据是否已经同步。
如果想配置多个Slave可以按照上面配置Slave的步骤继续配置多个Slave实例。
PS
多台服务器的Redis主从复制配置比较简单直接看这篇