zoukankan      html  css  js  c++  java
  • redis主从同步

    redis主从同步

    前言

    • redis主从同步

      img

    • 原理

      1. 从服务端向主服务器发送SYNC命令
      2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下来执行的所有写命令。
      3. 当主服务器执行完BGSAVE命令时,它会向从服务器发送 RDB 文件,而从服务器则会接收并载入这个文件。
      4. 主服务器将缓冲区储存的所有写命令发送给从服务器执行。
    • 1 在开启主从复制的时候,使用的是RDB方式的,同步主从数据的
      2、同步开始之后,通过主库命令传播的方式,主动的复制方式实现
      3、2.8以后实现PSYNC的机制,实现断线重连

    环境准备

    • 前言:
      • 这里演示的是一主俩从
      • redis数据库支持多实例
    1. 主redis配置信息

      vim redis-6379.conf

      port 6379   		
      daemonize yes 		  
      pidfile /data/6379/redis.pid
      loglevel notice		
      logfile "/data/6379/redis.log"
      dir /data/6379			
      protected-mode yes 
      dbfilename  dbmp.rdb
      
      save 900 1
      save 300 10 
      save 60 10000
      
    2. 俩从配置信息, redis-6380.conf 和redis-6381.conf 信息一样,除了port不一样

      vim redis-6380.conf

      port 6380   		
      daemonize yes 		  
      pidfile /data/6380/redis.pid
      loglevel notice		
      logfile "/data/6380/redis.log"
      dir /data/6380			
      protected-mode yes 
      dbfilename  dbmp.rdb
      save 900 1
      save 300 10 
      save 60 10000
      slaveof  127.0.0.1 6379
      
    3. 启动三个数据库,

      redis-server /data/6380/redis.conf
      redis-server /data/6381/redis.conf
      redis-server /data/6382/redis.conf
      
    4. 启动三个数据库的实例,查看主从同步关系

      redis-cli -p 6379  info replication 
      redis-cli -p 6380  info replication 
      redis-cli -p 6381  info replication 
      
    5. 测试写入数据,主库写入数据,检查从库数据

      主
      127.0.0.1:6379> set name chaoge
      
      
      从
      127.0.0.1:6381>get name 
      
    6. 模拟主库宕机,然后手动进行主从复制故障切换

      # 查看主库进程
      ps -ef |grep redis
      杀死主库进程
      kill -p 主库进程号
      
    7. 检查从库信息

      redis-cli -p 6380  info replication 
      redis-cli -p 6381  info replication 
      
    8. 关闭6380从库身份

      127.0.0.1:6380>slaveof no one
      
    9. 给6381新的主人身份

      127.0.0.1:6381> SLAVEOF no one
      127.0.0.1:6381> SLAVEOF 127.0.0.1 6381
      
    10. 检查6380和6381的主从信息

    11. 还得修改配置文件,永久生效还得修改配置文件,永久生效还得修改配置文件,永久生效

  • 相关阅读:
    【Caffe代码解析】Layer网络层
    Codeforces Round #276 (Div. 2)
    深入一点 让细节帮你和Fragment更熟络
    C-IDE使用指南
    14.11 隔离事务
    【工具类】遍历扫描目录下全部文件并列出
    Cocos2d-x源代码解析(1)——地图模块(1)
    【Android实战】----基于Retrofit实现多图片/文件、图文上传
    RabbitMQ基本使用
    Spring 4 中重定向RedirectAttributes的使用
  • 原文地址:https://www.cnblogs.com/yuncong/p/10293590.html
Copyright © 2011-2022 走看看