Redis(4)---主从复制
Redis主从复制
一、环境搭建
既然是主从复制,那肯定需要多个redis服务器,下面我先创建3个服务器,™的端口号分别是:6379、6380、6381。
1、复制默认配置文件redis.conf,放到rediszhucong文件夹中,并重命名。

根据每个端口号不同,重新配置conf文件
(1)端口号

(2)开启线程守护

(3)Pid文件名字

(4)Log文件名字

(5)Dump.rdb名字

2、在redis-server目录下,读取配置启动这三个redis
./redis-server ../../rediszhucong/redis6379.conf
./redis-server ../../rediszhucong/redis6380.conf
./redis-server ../../rediszhucong/redis6381.conf
查看进程

3、打开多个界面进行操作
./redis-cli -p 6379
./redis-cli -p 6380
./redis-cli -p 6381
成功打开三个服务器

二、主从复制
1、是什么?
行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。
2、 能干嘛?
读写分离,更加安全,性能提升。
3、怎么玩?
一主二仆、薪火相传、反客为主
(1)一主二仆
- 配从不配主
- slaveof 主库ip 主库端口
我这里把6379当成主库,所以只要在6380和6381端口输入:


通过info replication 查看是否配置成功。
可以看到6379端口服务器,role角色是master,同时下面有两个从服务器

再看6380端口,role显示为slave。

总结:
(1)如果master服务器挂了,那么6380,和6381角色依旧是slave
(2)如果master又好了,那么一切正常,下面还是有两个从,自己还是主。
(3)如果slave服务器挂了,那么重启后,需要重新slaveof 选择master,除非在配置文件中配置
(2)薪火相传
新火相传的意思其实就是去中心化,现在只有80和81两台slave连接master,假如,有100台slave的话,那么master就压力很大了,所以redis又推出了新火相传的解决方案,上一台slave,可以下一台slave的master.
79和80不改变,在81上配置如下:
127.0.0.1:6381> SLAVEOF 127.0.0.1 6380
OK
(3)反客为主
上面提到了,当master死机的时候,重写启动还是master,现在时,我是想当master死机的时候,让某一台从机变成主机,这里是,让80变成主机,
只要当master死机器的时候,手动在80执行如下命令:
127.0.0.1:6380> SLAVEOF no one
同时,81也要重新配置,配置80为主机
127.0.0.1:6381> SLAVEOF 127.0.0.1 6380
OK
三、哨兵模式
虽然说,反客为主,已经不错了,但总不能一旦master挂掉,我在手动去重新配置主服务器,和slave服务器吧。
简单的说,哨兵模式就是反客为主的自动版,通过监控主机,当主机挂掉的时候,就几台从机中透过投票选出新的主机
1、在 /etc/redis/目录下新建一个sentinel.conf文件(这个目录随意,但名字一定叫sentinel.conf)
里面的内容为:
sentinel monitor host6379 127.0.0.1 6379 1
意思是6379端口的服务器是现在的master,host6379是自己任意取的名字,上面最后一个数字1,表示主机挂掉后salve投票看让谁接替成为主机,得票数多少后成为主机
2、启动sentinel.conf 文件
./redis-sentinel ../sentinel.conf

表示成功!
这是注意:
就是当原来的master回来后,不是做独立的mater,而是做新主机的slave
当我输入:SHUIDOWN命令,代表kill端口的redis,当我重新启动6379端口后,发现他的角色变成了:slave

想太多,做太少,中间的落差就是烦恼。想没有烦恼,要么别想,要么多做。少校【1】
Redis(4)---主从复制的更多相关文章
- redis的主从复制配置
redis的主从复制配置 一. 原理 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架 ...
- Redis总结(三)Redis 的主从复制
接着上一篇,前面两篇我总结了<Redis总结(一)Redis安装>和<Redis总结(二)C#中如何使用redis> 所以这一篇,会讲讲Redis 的主从复制以及C#中如何调用 ...
- 实现Redis的主从复制配置
实现Redis的主从复制配置比较简单,而且容易明白. 下图是要配置的主从复制结构图: 1.说明 Redis主从复制中一个主服务可以有多个从服务,一个从服务可以有多个从服务. 配置比较简单,只需要更改r ...
- redis的主从复制部署和使用
reids一种key-value的缓存数据库目前非常流行的被使用在很多场景,比如在数据库读写遇到瓶颈时缓存且读写分离会大大提升这块的性能,下面我就说说redis的主从复制 首先需要启动多个redis实 ...
- redis实现主从复制-单机测试
一.redis实现主从复制-单机测试1.安装redis tar -zxvf redis-2.8.4.tar.gzcd redis-2.8.4make && make install2. ...
- 8. redis的主从复制和sentinal
一. redis主从复制(读写分离) redis的主从复制分为两类节点:1个master和多个slave,master进行读写操作,slav进行只读操作 启动步骤: 主节点照常启动,slave节点启动 ...
- Redis基础学习(五)—Redis的主从复制
一.概述 Redis的主从复制策略是通过其持久化的rdb文件来实现的,其过程是先dump出rdb文件,将rdb文件全量传输给slave,然后再将dump后的操作实时同步到slave中.让从服务 ...
- Redis配置主从复制
Redis配置主从复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作环境介绍 1>.操作系统环境 [root@node101.yinzhengjie.org.cn ...
- Redis的主从复制(十一)
1>什么是主从复制 持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后(在使用aof和rdb方式时,如果redis重启,则数据从aof文件加载)会将硬盘上持久化的数据恢复 ...
- 基于配置文件的redis的主从复制
redis中主从复制有很多种配置方法: 1. 使用配置文件即为redis.conf来配置 在随从redis中配置 # slaveof {masterHost} {MastePort} slaveof ...
随机推荐
- CommonsChunkPlugin VS SplitChunksPlugin
等了好久终于等到你, webpack团队人员卧薪尝胆五个多月的时间终于带来的webpack4.0,个人觉得webpack4带来的最大优化便是对于懒加载块拆分的优化,删除了CommonsChunkPlu ...
- EL和JSTL笔记
1.EL表达式 [1] 简介 > JSP表达式 <%= %> 用于向页面中输出一个对象. > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段. > ...
- linux shell 多个命令一起执行的几种方法
在命令行可以一次执行多个命令,有以下几种: 1.每个命令之间用;隔开 说明:各命令的执行结果,不会影响其它命令的执行.换句话说,各个命令都会执行, 但不保证每个命令都执行成功. cd /home/Py ...
- windows10系统安装Oralce11g时遇到INS-13001环境不满足最低要求
升级win10系统之后,需要重新安装Oracle,因为在安装Oralce11g时,使用64位的会出现各种不兼容问题,我每次安装都是使用32位的数据库. 在安装时点击setup.exe之后,出现了:[I ...
- 实战操作——通过wireshark查看任意qq好友IP
今天有群里好友问我如何查看别人IP,查IP这个东西对于一些刚入门的小白来说可能是一个比较高大上的玩意,但是实际上只需一个网络协议分析工具就OK,废话不多说,下面开始实践 实验对象:任意QQ好友 操作工 ...
- Linux下好用的屏幕录像软件kazam及截图软件shutter
都是apt直接安装即可使用. 其中kazam默认保存的文件格式是avi,非常大,通常录制几十秒就已经好几个G,导致录制过程太占用资源,会出现卡顿的现象. 在“首选项”中可以选择输出格式为mp4,文件就 ...
- pyspider爬取tourism management 所有文章的标题 作者 摘要 关键词等等所有你想要的信息
#!/usr/bin/env python # -*- encoding: utf-8 -*- # vim: set et sw=4 ts=4 sts=4 ff=unix fenc=utf8: # C ...
- JS中获取CSS样式的方法
1.对于内联样式,可以直接使用ele.style.属性名(当然也可以用键值对的方式)获得.注意在CSS中单词之间用-连接,在JS中要用驼峰命名法 如 <div id="dv" ...
- PMP:8.项目质量管理
内容中包含 base64string 图片造成字符过多,拒绝显示
- day_11函数的形参与实参
昨天讲了函数的定义和简单分类 1:什么是函数:具体特定功能的代码快 --特定功能代码作为一个整体,并给该整体命名,就是函数. 函数的优点: 1:减少代码的冗余 2:结构清晰,可读性强 3:具有复用性, ...