虚拟机模拟搭建Redis集群:主从复制-读写分离

简介:

Redis主从复制和读写分离是两个不同的概念,下面将分别介绍这两个概念的实现方法。

  1. Redis主从复制:

Redis主从复制是指将一个Redis服务器(主服务器)的数据复制到其他Redis服务器(从服务器)的过程。主服务器负责写操作,而从服务器负责读操作。主从复制可以提高系统的读性能和数据的冗余备份。

  1. Redis读写分离:

Redis读写分离是指将读操作和写操作分别分配给不同的Redis服务器。写操作仍然由主服务器处理,而读操作则由多个从服务器处理,从而提高读性能。

需要注意的是,Redis主从复制和读写分离可以同时使用,通过将读操作发送到从服务器来提高读性能,并将写操作发送到主服务器来保证数据的一致性。

搭建:

Redis的安装可以参考我的另一篇文章:

http://t.csdn.cn/JNrcEicon-default.png?t=N5K3http://t.csdn.cn/JNrcE

这里我们在一台虚拟机上模拟搭建3台redis服务端,一台主机,两台从机。

步骤一:

首先我们在/opt/redis/(没有redis目录的话先在opt目录下创建redis)目录下创建data、log、conf三个文件目录

mkdir -p /opt/redis/data 
mkdir -p /opt/redis/log 
mkdir -p /opt/redis/conf

步骤二:

然后我们将/usr/local/redis目录下的redis.conf文件复制一份到步骤一中创建好的/opt/redis/conf中,并将复制过来的redis.conf文件改名为redis-common.conf,该conf是所有redis服务端都要继承的公共配置文件(可以理解为父类的概念)

# 复制文件 
cp /usr/local/redis/redis.conf /opt/redis/conf 
# 将复制过来的文件改名 
mv redis.conf redis-common.conf

步骤三: 修改reids-common.conf公共配置文件

1.注释bind 127.0.0.1

3c0ca1395ce346bcbd9ee5313dc4bb4b.png

2.关闭保护模式,修改为no

45a1d5d237c34a73ab95bbf92369d5cd.png

3.修改为后台启动,改为yes

1f153a31d6cd4ca6beeab82d1d89d542.png

4.注释进程编号记录文件

7db587fb8d754e14b9cd82a1f11c0e25.png

5.注释公共日志文件

b92fc1aa20cb42d5b09d664046692731.png

6.注释公共配置数据文件、修改数据文件路径

70c0113c530f4e67b60d9760eac51f71.png

7.添加从服务器访问主服务器认证(设置了requirepass的需要添加)

48c2c5d88ac545ccaea5ac4a6444f2dc.png

8.添加访问认证

0f73f8664a7a456e94108c5c19981a1a.png

9.注释公共配置追加文件

a8e21e5485164759bbf86365239be79b.png

步骤四:

添加3个服务的私有配置文件

# 在/opt/redis/conf 中添加
# 主服务器 
touch redis-6379.conf 
# 从服务器 
touch redis-6380.conf 
touch redis-6381.conf

分别将三个私有配置文件中添加下面这些配置(复制进去即可,注意最后一个配置)

#引用redis-common.conf公共配置文件 
include /opt/redis/conf/redis-common.conf 
#进程编号记录文件 
pidfile /var/run/redis-6379.pid 
#设置进程端口号 
port 6379 
#日志记录文件 
logfile "/opt/redis/log/redis-6380.log" 
#数据记录文件 
dbfilename dump-6379.rdb 
#追加文件名称 
appendfilename "appendonly-6380.aof"
 
#上面的端口号要与配置文件的名称对应

------------------------------------------------------------- 

#下面的配置不用在主服务器6379里配置,其他的从服务器配置文件需要配置 

#备份服务器从属于6379推荐配置局域网IP 
slaveof 192.168.10.x 6379

步骤五:

关闭防火墙

sudo ufw disable

步骤六:测试

# 查看当前是否有redis进程在运行

ps -ef | grep redis

# 如果存在则关闭进程

kill -9 PID

以相应的配置文件开启redis进程

/usr/local/bin/redis-server /opt/redis/conf/redis-6379.conf
/usr/local/bin/redis-server /opt/redis/conf/redis-6380.conf 
/usr/local/bin/redis-server /opt/redis/conf/redis-6381.conf 
# 然后查看是否开启redis进程 
ps -ef | grep redis

开启客户端

/usr/local/bin/redis-cli -p 6379 -a 访问认证(密码) 
/usr/local/bin/redis-cli -p 6380 -a 访问认证(密码) 
/usr/local/bin/redis-cli -p 6381 -a 访问认证(密码)

384055f43bbb4c28b1316e1b6110333c.png

在主服务器上可以查看到从服务器的信息

info replication

d417cdbe2cf34cb39a40afd506003256.png

可以看到有两个从服务器6380和6381

至此,我们的redis集群的主从复制-读写分离就搭建好了,底层通过订阅推送实现。

搭建Redis集群-哨兵模式可以查看我的另一篇文章:

http://t.csdn.cn/jYGmyicon-default.png?t=N5K3http://t.csdn.cn/jYGmy

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值