首页 > 数据库 >Redis主从复制

Redis主从复制

时间:2022-08-16 19:44:58浏览次数:57  
标签:主从复制 ip redis master conf Redis 节点

Redis主从复制

主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据。如果主节点因为某些原因出现了故障导致宕机,无法接收数据,那么从节点也会与主节点断开连接。

无法解决:master(主)节点出现故障的自动故障转移

1.主从架构图

image-20220515185529716

2.演示——搭建主从复制架构(做之前要拍快照,防止出现问题 版本:redis7.0.0 )

步骤

  1. 创建三个目录代表三台机器,master、node1、node2

    mkdir master
    

    image-20220815201701235

  2. 拷贝redis安装目录下源码中的redis.conf文件分别到三个目录中。

    [root@master redis-install]# cp redis-7.0.0/redis.conf ./master/
    
  3. 修改三台机器的配置,修改端口号,开启远程连接,配置主节点是谁

    image-20220815202811362

    - master
    	将本地的ip地址注释掉 #bind 127.0.0.1
    	port 7000(这是主节点的端口号,数字自己设置)
    	protected-mode no(将外部连接保护改成no)
    - node1
    	将本地的ip地址注释掉 #bind 127.0.0.1
    	port 7001
    	protected-mode no
    	将replicaof <masterip> <masterport>   改成  replicaof 192.168.137.150(主机ip地址) 7000(主节点端口号)
    - node2
    	将本地的ip地址注释掉 #bind 127.0.0.1
    	port 7002
    	protected-mode no
    	将replicaof <masterip> <masterport>   改成  replicaof 192.168.137.150(主机ip地址) 7000(主节点端口号)
    
  4. 启动三台机器进行测试

    cd /usr/local/soft/bigdata17/redis-install
    redis-server ./master/redis.conf
    redis-server ./node1/redis.conf
    redis-server ./node2/redis.conf
    

    image-20220815203633459

  5. 分别连接主节点和两个从节点

    redis-cli -p 7000
    

    image-20220815203751842

    image-20220815203844966

    可以观察到在主节点设置一个key/value值,在从节点能直接获取,说明主节点中的数据复制到了从节点中

  6. 如果我将主节点的进程杀死,从节点会发生什么,会不会代替主节点的工作

    image-20220815204822715

    image-20220815204904382

    问题:

    很明显,从节点全部与主节点断开了连接,如果我们想在主节点宕机的时候让从节点出来接替主节点的工作,成为新的主节点该如何实现呢,请关注伍点下一篇博客--redis架构之哨兵机制与集群。

标签:主从复制,ip,redis,master,conf,Redis,节点
From: https://www.cnblogs.com/bfy0221/p/16591630.html

相关文章

  • Redis---客户端命令
    1.前言Redis提供了一些操作客户端(client)的命令,比如查询所有已连接到服务器的客户端数量,控制客户端的连接状态(关闭或者挂起)等。通过客户命令我们可以轻松的实现对客户端的......
  • Redis---zset有序集合(底层原理+图解)
    1.前言顾名思义,Rediszset(有序集合)中的成员是有序排列的,它和set集合的相同之处在于,集合中的每一个成员都是字符串类型,并且不允许重复;而它们最大区别是,有序集合是有序的,s......
  • Redis实现延迟队列
     一、延迟队列进入该队列的消息会被延迟消费的队列,一般的队列,进入队列后会进行排队依次消费掉二、使用场景需要进行延迟消费的场景,本文举例为某本书籍更新了章节,待内......
  • Redis---hash哈希散列
    1.前言Redishash(哈希散列)是由字符类型的field(字段)和value组成的哈希映射表结构(也称散列表),它非常类似于表格结构。在hash类型中,field与value一一对应,且不允许重......
  • Redis---set集合
    1.前言Redisset(集合)遵循无序排列的规则,集合中的每一个成员(也就是元素,叫法不同而已)都是字符串类型,并且不可重复。Redisset是通过哈希映射表实现的,所以它的添加、删除......
  • Redis---列表
    1.前言Redislist(列表)相当于Java语言中的LinkedList结构,是一个链表而非数组,其插入、删除元素的时间复杂度为O(1),但是查询速度欠佳,时间复杂度为O(n)。当向列表中添......
  • 项目中,需要对设备上线离线的动作做日志打印. (利用redis发布订阅监听key解决. 观
    https://blog.csdn.net/weixin_44642403/article/details/116278262?ops_request_misc=&request_id=&biz_id=102&utm_term=redis%E7%9B%91%E5%90%ACkey%E5%9C%A8%E4%BB%80%......
  • 解决Redis、MySQL缓存双写不一致问题
     redis、mysql双写缓存不一致: 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一......
  • 记Windows服务器Redis 6379被攻击 被设置主从模式同步项目数据
    在工作中第一次经历被攻击,我是一个前端,同时复负责维护一个已上线的项目,在最近一段时间小程序与后台经常出现这个报错,搜了下说我的从机是只读模式,不能写入,问了同事得知这......
  • Redis-5.0141 解决应用问题-17
    1.缓存穿透1.1什么是缓存穿透?   缓存穿透是指查询一个一定不存在的数据,由于缓存在没有命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每......