美文网首页
Redis从入门到精通6:Redis的集群

Redis从入门到精通6:Redis的集群

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-04 23:45 被阅读0次

本节来介绍Redis的集群,也就是Redis的主从复制。

1.Redis集群

在Redis的实际业务中,读的量要远远大于写的量。这就对单点Redis的性能产生很大的压力。因此可以使用Redis集群将读业务和写业务分离开来,在主节点上写入数据,在从节点上读出数据,主节点的数据会自动同步到从节点。这就是Redis集群,也就是Redis的主从复制。

Redis的主从复制可以实现:1.数据备份,防止主节点宕机;2.读写分离,分担主节点压力;3.任务分离,比如一部分从节点担任数据备份任务,另一部分从节点担任数据计算任务;

2.Redis集群的架构

image

星型模型:以master为中心,周围直接连接多个slave节点。优点:效率高,只需要在master上插入数据,就可以同时同步给所有的slave。缺点:master宕机后,会从slave中选出一个新的master,其他slave将重新连接到该新的master上,配置HA比较麻烦。

线型模型:以master节点开始,后面依次连接多个slave,后一个slave连接到前一个slave,形成一条线。优点:master宕机后,只需要将紧挨着master的slave变成新的master即可,后面的slave不用变。缺点:效率低,master上写入数据,要一个接一个同步到后面所有slave节点。

在实际工作中,星型模型使用的比较多。

3.Redis主从复制的原理

image

4.Redis集群的实现(星型模型)

可以在同一台机器上启动三个redis实例,每个实例使用不同的端口号和不同的配置文件。

主节点:只负责写入数据,关闭RDB和AOF。

主节点master:bigdata:6379

vim redis6379.conf
# 关闭RDB
# save 900 1
# save 300 10
# save 60 10000
# 关闭AOF
appendonly no
# 指定端口号
port 6379

从节点:负责读出数据,开启RDB和AOF,并指定主节点。

# 从节点slave1:bigdata:6380
vim redis6380.conf
# 开启RDB
save 900 1
save 300 10
save 60 10000
# 指定RDB文件的名字
dbfilename dump6380.rdb
# 开启AOF
appendonly yes
# 指定AOF文件的名字
appendfilename "appendonly6380.aof"
# 指定端口号
port 6380
# 指定master的主机名和端口号
slaveof bigdata 6379
# 指定slave为只读
slave-read-only yes

# 从节点slave2:bigdata:6381
vim redis6381.conf
# 开启RDB
save 900 1
save 300 10
save 60 10000
# 指定RDB文件的名字
dbfilename dump6381.rdb
# 开启AOF
appendonly yes
# 指定AOF文件的名字
appendfilename "appendonly6381.aof"
# 指定端口号
port 6381
# 指定master的主机名和端口号
slaveof bigdata 6379
# 指定slave为只读
slave-read-only yes

5.启动Redis集群

# 进入Redis家目录
cd $REDIS_HOME
# 启动master
bin/redis-server conf/redis6379.conf
# 启动slave1
bin/redis-server conf/redis6380.conf
# 启动slave2
bin/redis-server conf/redis6381.conf
# 查看Redis进程
ps -ef | grep redis

6.使用Redis集群

示例1:在主节点上写入数据,在从节点上读出数据。

# 连接到主节点:6379
bin/redis-cli -p 6379
127.0.0.1:6379> set tom 1000

# 连接到从节点1:6380
bin/redis-cli -p 6380
127.0.0.1:6380> get tom
"1000"

# 连接到从节点2:6381
bin/redis-cli -p 6381
127.0.0.1:6381> get tom
"1000"

示例2:验证slave的只读特性。

127.0.0.1:6380> get tom
"1000"
127.0.0.1:6380> set mike 1234
(error) READONLY You can't write against a read only slave.

相关文章

  • Redis从入门到精通:初级篇

    Redis从入门到精通:初级篇 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中也一...

  • Redis从入门到精通6:Redis的集群

    本节来介绍Redis的集群,也就是Redis的主从复制。 1.Redis集群 在Redis的实际业务中,读的量要远...

  • Redis从入门到精通(八、Redis 集群)

    此篇介绍Redis Cluster 集群,简单介绍一下集群的实现,主要还是具体的实践部分:集群的开启,故障转移,添...

  • Redis从入门到精通7:Redis的HA集群

    前面介绍了Redis的集群——主从结构,既然是主从结构,那么就存在单点故障的风险。因此需要搭建Redis HA集群...

  • 史上最全Redis面试题及答案。

    花了大量时间整理了这套Redis面试题 首发50题,绝无仅有,从入门到精通 从基础,高级知识点,再到集群,运维,方...

  • 11.Redis集群入门

    本主题,介绍了Redis的集群配置与编程入门,其实Redis的集群还包含主从集群模式,哨兵集群模式(Redis 5...

  • Redis从入门到精通:中级篇

    Redis从入门到精通:中级篇 本文目录 上一篇文章以认识Redis为主,写了Redis系列的第一篇,现在开启第二...

  • redis5.0 3主6从集群搭建

    redis5.0 --- 3主6从集群搭建 redis下载: https://redis.io/download ...

  • Redis从入门到精通

    常用的 SQL 数据库的数据都是存在磁盘中的,虽然在数据库底层也做了对应的缓存来减少数据库的 IO 压力。 由于数...

  • Redis 4.0集群配置

    Redis 集群,官方方案需要6个节点,3个主3个从。 安装依赖软件 安装redis 集群配置 创建集群 集群测试...

网友评论

      本文标题:Redis从入门到精通6:Redis的集群

      本文链接:https://www.haomeiwen.com/subject/lapkdhtx.html