Redis学习

主从复制

官方文档:https://redis.io/topics/replication

Redis中的主从复制,也就是Master-Slave模型,有以下特点

  Master可以拥有多个slave

  多个slave不仅可以连接同一个master,还可以连接到其他的slave

  主从复制不会阻塞master,在同步数据时,master可以继续处理client请求

  提供系统的伸缩性

主从复制过程:

  slave与master建立连接,发送sync同步命令

  master开启一个后台进程,将数据快照保持到文件中,同时master主进程会开始收集新的写命令并缓存

  后台完成保存后,将文件发送给slave

  slave将文件保存到硬盘上

主从复制配置:

  配置3台redis,1master2slave

  使用scp -r redis3.2_1/ sloveip:/复制目录 将主机安装的redis复制到从机

  在配置文件修改主机从机的端口号

  修改从机的slaveof,改为主机的ip地址 端口号

  

  分别启动这三台redis服务

  

  可以看到主从机都已经启动

  由于在同一台机子模拟,所以启动客户端要指定端口号

  

  启动之后,info查看信息,可以看到主从已经成功

  

  查看从机,打印下面信息

  

  在主机写入数据,从机能够读取

  

  

哨兵

哨兵能够监控redis系统的运行状况,主要功能有:

监控主数据库和从数据库是否正常运行

主数据库出现故障时,可以自动将从数据库装换为主数据库,实现自动切换

配置(在slave1配置)

复制安装的redis3.2_1文件下的sentinel.conf文件到存放配置文件的文件夹

  

  然后进入sentinel.conf文件,配置目录

  

  配置名称、主节点ip、端口、投票选举次数(1表示有一个从节点认为主节点宕机就认为主节点宕机了)

   

  监控策略

  

  默认30秒超时即为宕机

  

  从节点的个数

  启动redis服务

    启动哨兵

  

  查看哨兵信息

  

  kill 主节点

  info信息

  

  master端口变为了6381

  重新启动6380端口,控制台打印

  

  info 信息

  

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid