Redis

Redis 知识量:6 - 20 - 96

6.1 主从复制><

Redis主从复制原理- 6.1.1 -

Redis主从复制的原理是:

  1. 主节点(master)将数据写入到自己的内存中,并异步地将数据写入到从节点(slave)的内存中。

  2. 从节点通过TCP连接与主节点进行通信,定期从主节点获取数据更新,并将更新后的数据写入到自己的内存中。

  3. 当从节点接收到来自主节点的更新时,它会记录这些更新操作的命令,并在后续的操作中重放这些命令,以保持与主节点的数据一致性。

  4. 如果主节点发生故障,从节点可以选择一个从节点作为新的主节点,以保证服务的高可用性。

在Redis主从复制中,主节点和从节点的数据是异步复制的,这意味着从节点可能不会立即接收到主节点的所有更新。但是,由于Redis的数据持久化机制,即使在主节点发生故障时,从节点仍然可以提供服务。此外,Redis还支持多个从节点同时复制一个主节点,以提高系统的可用性和可扩展性。

Redis主从复制安装过程- 6.1.2 -

Redis主从复制的安装过程包括以下步骤:

1. 准备两台Linux服务器(虚拟机),配置IP地址并保持网络畅通。

2. 在两台服务器上安装Redis。在终端中执行以下命令来下载Redis安装包:

wget http://download.redis.io/releases/redis-3.2.8.tar.gz

解压下载好的Redis安装包到一个指定的目录中:

mkdir -p /opt/module/redis    
tar -zxvf redis-3.2.8.tar.gz -C /opt/module/redis

进入到Redis的解压目录中,编译安装:

cd /opt/module/redis    
make & make install

安装完成后,在/usr/local/bin/目录下可以看到Redis的几个脚本文件,如redis-server、redis-cli等。

3. 在第一台服务器上配置主节点。在终端中执行以下命令来启动Redis服务器:

redis-server /path/to/redis.conf

其中,/path/to/redis.conf是Redis配置文件的路径。在配置文件中,找到并修改以下参数:

bind <master-ip> <slave-ip> <slave-ip> ... // 绑定主节点的IP地址和从节点的IP地址    
port <port> // 设置Redis服务器的端口号,默认为6379

保存并关闭配置文件。在终端中执行以下命令来启动主节点:

redis-server /path/to/redis.conf &

4. 在第二台服务器上配置从节点。同样地,在终端中执行以下命令来启动Redis服务器:

redis-server /path/to/redis.conf

在配置文件中,找到并修改以下参数:

bind <slave-ip> <slave-ip> ... // 绑定从节点的IP地址和从节点的IP地址(如果有多个从节点)    
port <port> // 设置Redis服务器的端口号,与主节点一致即可(默认为6379)

保存并关闭配置文件。在终端中执行以下命令来启动从节点:

redis-server /path/to/redis.conf &

5. 在主节点上执行以下命令来设置主节点的复制链接:

redis-cli -h <master-ip> -p <port> slaveof <yes|no> <master-ip> <port> &

其中,<master-ip>和<port>是主节点的IP地址和端口号。执行该命令后,从节点将开始从主节点复制数据。此时,主节点和从节点之间的数据是异步复制的。如果需要同步复制数据,可以使用以下命令:

redis-cli -h <slave-ip> -p <port> sync & // 从节点同步复制数据到主节点(同步复制)