本文演示了一个最简单的主备同步的例子,
在一台服务器上,启动两个redis服务,一个master,一个slave。
一、配置文件
准备两个redis用来启动的配置文件,把redis.conf 复制改名为 6379.conf、6380.conf。
6379.conf配置:
port 6379(端口)
requirepass "redis"(redis密码,安全选项)
6380.conf配置:
port 6380(端口)
requirepass "redis"(redis密码,安全选项)
slaveof 127.0.0.1 6379(主服务器IP和端口号)
masterauth redis(主服务器的密码,如果主服务器有密码需要填写此项)
slave-read-only yes(备服务器只读,可选)
slave-serve-stale-data yes(如果正在同步时发生读取请求,返回旧数据,可选)
二、启动服务
启动主服务器 redis-server /etc/redis/6379.conf
启动备服务器 redis-server /etc/redis/6380.conf
三、进入客户端
进入主服务器客户端 redis-cli -p 6379
进入备服务器客户端 redis-cli -p 6380
会发现备服务器的数据会跟随着主服务器数据的变化而变化。
但是备服务器由于之前设置了slave-read-only yes,修改备服务器时会返回错误说明:
(error) READONLY You can't write against a read only slave.