Redis 主从架构

前言

Redis 在一些高并发的查询起到了至关重要的作用,在生成环境中通常需要设置主从架构或者集群架构。其中主从架构中主Redis负责读写功能,从Redis只负责读功能,当主Redis宕机那么服务就不再提供写的功能,所以需要再搭配哨兵,使得从Redis往主Redis进行转变。这里就来详细阐述一下简单的主从架构,下一篇讲解主从架构+哨兵。实验环境:Linux + Redis 4.0.13

Redis安装

在Linux环境下,首先使用wget下载Redis

1
2
wget http://download.redis.io/releases/redis-4.0.13.tar.gz # 如果没有网络,可以下载好之后再scp过来
tar xzf redis-4.0.13.tar.gz # 解压文件

进入到解压开的文件夹中,执行make命名进行编译

1
2
cd redis-4.0.13 
make # 如果编译失败,确认你的环境是否有gcc

编译成功后可以在 /redis-4.0.13/src下看到redis-server、redis-cli

你想输入的替代文字

Redis 主从配置

主Redis:10.1.13.22 6379

从Redis:10.1.13.54 6379

修改Redis的配置文件 redis-4.0.13/ redis.conf

1
vim redis-4.0.13/redis.conf

修改以下内容:

1
2
#bind 127.0.0.1 #原有的配置注释掉,修改成以下
bind 10.1.13.22 # 这里要设置成能让其他服务器访问到的IP地址。设置你本机的IP地址,或者设置 0.0.0.0

修改Redis的配置文件,修改以下内容:

1
2
3
4
#bind 127.0.0.1 #原有的配置注释掉,修改成以下
bind 10.1.13.54 # 这里要设置成能让其他服务器访问到的IP地址。设置你本机的IP地址,或者设置 0.0.0.0

slaveof 10.1.13.22 6379 #添加slaveof配置,表示你想要作为谁的从服务 IP Port

在10.1.13.32上启动主Redis,启动的时候要指定的你配置文件的路径

1
root@tdlab-virtual-machine:/redis/redis-4.0.13# ./src/redis-server ./redis.conf

在10.1.13.54上启动从Redis

1
root@tdlab-virtual-machine:/redis/redis-4.0.13# ./src/redis-server ./redis.conf

可以看到从Redis成功链接到主Redis

你想输入的替代文字

主Redis也接受到了从Redis的连接要求:

你想输入的替代文字

在10.1.13.22上启动Redis的客户端,连接主Redis:

1
./src/redis-cli -h 10.1.13.22 #注意要配置IP地址,因为你主Redis配置了bing 10.1.13.22,默认的127.0.0.1已经连接不到主Redis了,端口是默认的可以不用设定

使用info命令看到的确有一台从Redis:

你想输入的替代文字

现在你可以在主Redis上进行数据的读写,然后从Redis也可以读到,但是从Redis是不能接受写操作的。

主Redis上写入数据:

你想输入的替代文字

从redis上读到该数据:

你想输入的替代文字