首先,让我们创建并配置主实例。我们将从其 primary.conf 配置文件中的一些配置更改开始。
$ touch primary.conf # Create the configuration file
现在,使用您喜欢的文本编辑器打开 primary.conf
文件,并设置以下配置指令
# Create a strong password here
requirepass a_strong_password
# AUTH password of the primary instance in case this instance becomes a replica
masterauth a_strong_password
# Enable AOF file persistence
appendonly yes
# Choose a name for the AOF file
appendfilename "primary.aof"
最后,让我们启动主实例
$ redis-server ./primary.conf
接下来,让我们准备副本的配置文件
# Port on which the replica should run
port 6380
# Address of the primary instance
replicaof 127.0.0.1 6379
# AUTH password of the primary instance
masterauth a_strong_password
# AUTH password for the replica instance
requirepass a_strong_password
让我们启动副本
$ redis-server ./replica.conf
打开两个终端选项卡,并使用它们启动到主实例和副本实例的连接
# Tab 1 (primary)
$ redis-cli
# Tab 2 (replica)
$ redis-cli -p 6380
在两个选项卡上,通过运行命令 AUTH
以及您的密码来进行身份验证:
AUTH a_strong_password
在第二个(副本)选项卡上,运行 MONITOR
命令,这将允许您看到针对该实例执行的每个命令。
返回第一个(主)选项卡并执行任何写入命令,例如
127.0.0.1:6379> SET foo bar
在第二个选项卡中,您应该看到该命令已发送到副本
1617230062.389077 [0 127.0.0.1:6379] "SELECT" "0"
1617230062.389092 [0 127.0.0.1:6379] "set" "foo" "bar"
保持实例运行,或者至少保留其配置文件。我们将在下一个练习中需要它们。