栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Redis青铜修炼手册(五)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis青铜修炼手册(五)

Redis青铜修炼手册(一) — NoSQL&&Redis介绍
Redis青铜修炼手册(二) — Redis5大数据类型常用命令
Redis青铜修炼手册(三) — 持久化和事务
Redis青铜修炼手册(四) — Redis的发布订阅

有什么好处
  • 主从复制实现了数据的热备份,是持久化之外的一直方式
  • 故障回复:当主节点出现问题时,从节点可以提供数据
  • 负载均衡:主节点提供写服务,从节点提供读服务。在少写多读的场景下,从节点可以有效的分担请求的负载。
  • 高可用,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。

拷贝多份redis配置文件

wyl@wyl-linux:/etc/redis$ sudo cp redis.conf  redis6379.conf
wyl@wyl-linux:/etc/redis$ sudo cp redis.conf  redis6380.conf
wyl@wyl-linux:/etc/redis$ sudo cp redis.conf  redis6381.conf
wyl@wyl-linux:/etc/redis$ ls -l
total 240
-rw-r----- 1 root  root  58837 2月  17 23:13 redis6379.conf
-rw-r----- 1 root  root  58837 2月  17 23:13 redis6380.conf
-rw-r----- 1 root  root  58837 2月  17 23:13 redis6381.conf
-rw-r----- 1 redis redis 58837 11月 29 18:37 redis.conf

开启 daemonize yes
主节点配置文件不变,端口号6379
两个从节点,修改pid、log、dump文件名字,以及端口号(分别是6380、6381)
可根据不同的配置文件修改,如redis-server-6380.pid、 redis-server-6380.log、dump-6380.rdb

daemonize yes
pidfile /var/run/redis/redis-server.pid 
port 6379
logfile /var/log/redis/redis-server.log
dbfilename dump.rdb

三个redis的配置完毕之后,启动redis服务

wyl@wyl-linux:~$ sudo redis-server /etc/redis/redis6379.conf 
wyl@wyl-linux:~$ redis-cli -p 6379

wyl@wyl-linux:~$ sudo redis-server /etc/redis/redis6380.conf 
wyl@wyl-linux:~$ redis-cli -p 6380

wyl@wyl-linux:~$ sudo redis-server /etc/redis/redis6381.conf 
wyl@wyl-linux:~$ redis-cli -p 6381

查看进程,三台redis服务均启动成功

wyl@wyl-linux:~$ ps -ef|grep redis
redis      4305      1  0 23:28 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root4355   1707  0 23:29 ? 00:00:00 redis-server 127.0.0.1:6380
root4376   1707  0 23:29 ? 00:00:00 redis-server 127.0.0.1:6381
wyl 4570   2269  0 23:31 pts/0    00:00:00 redis-cli -p 6379
wyl 4572   3973  0 23:31 pts/1    00:00:00 redis-cli -p 6380
wyl 4576   4362  0 23:31 pts/2    00:00:00 redis-cli -p 6381
root4804   4580  0 23:33 pts/3    00:00:00 sudo vim redis.conf
root4805   4804  0 23:33 pts/3    00:00:00 vim redis.conf
wyl 4879   4809  0 23:35 pts/4    00:00:00 grep --color=auto redis
SLAVEOF host port 主节点HOST、主节点port

建立主从复制关系,

slaveof no one

断开主从复制关系,使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器从节点断开复制后,不会删除已有的数据,只是不再接受主节点新的数据变化。

进行主从配置

可以通过 info replication 查看服务器信息
role:master 主服务器
rike: salve 从服务器

  • 主服务器宕机之后,从服务器依旧还是从服务器,并不会上位为主服务器
  • 从机宕机之后,每次启动都需要重新与主服务器进行连接。除非在配置文件中进行了配置

因此需要重新执行SLAVEOF 127.0.0.1 6379 同步主机数据
如果在正常运行的salve机器上,执行SLACEOF host port,则这个salve会变成master节点。

只有主机才可以进行写数据,如下 我在6380端口的从机上进行写操作

# 从机只可进行数据的读取,不可写入
127.0.0.1:6380> set k3 v3
(error) READonLY You can't write against a read only slave.


上面一主2从,如果从机太多,只有一个主机,所有的写压力都落在了唯一的一个主机上。所以这里就要用到了去中心化的概念

去中心化
是在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。

上面提到了三个reids。如果6380作为6379的从机,6380作为6381的从机(也就是80手机81的主节点)
如下所示

再回到1主多从的情况下,如果主机宕机了会怎么样呢? 如下图所示。

欢迎关注公众号"程序员共成长", 公众号内回复【获取资源】领取程序员专属礼包!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/220853.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号