zoukankan      html  css  js  c++  java
  • Redis多实例和主从复制03

    主从模式

    redis三种集群模式

    * 主从模式
    
    * Sentinel模式
    
    * Cluster模式
    

    主从模式介绍

    主从模式是三种模式中最简单的,在主从复制中,数据库分为两类:主数据库(master)和从数据库(slave)。

    特点

    主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据'同步'给从数据库
    从数据库一般都是'只读'的,并且接收主数据库同步过来的数据
    一个master可以拥有多个slave,但是一个slave只能对应'一个'master
    slave挂了不影响其他slave的读和master的读和写,'重新启动后会将数据从master同步过来'(无论是rdb模式还是aof模式)
    master挂了以后,不影响slave的读,但redis不再提供写服务,master重启后redis将重新对外提供写服务
    master挂了以后,'不会'在slave节点中重新选一个master
    
    缺点:
    从上面可以看出,master节点在主从模式中唯一,若master挂掉,则redis无法对外提供写服务
    

    工作原理

    当slave启动后,主动向master发送SYNC命令。(#每秒一次)
    master接收到SYNC命令后在后台保存快照(RDB持久化)和缓存保存快照这段时间的命令,然后将保存的快照文件和缓存的命令发送给slave。
    slave接收到快照文件和命令后加载快照文件和缓存的执行命令。
    

    redis搭建

    1.下载软件包

    [root@db01 ~]# rz redis-3.2.12.tar.gz
    或者
    [root@db01 ~]# wget http://download.redis.io/releases/redis-3.2.12.tar.gz
    

    2.安装依赖 (选)

    [root@db01 ~]# yum install -y gcc gcc-c++
    

    3.解压

    [root@db01 ~]# tar xf redis-3.2.12.tar.gz -C /usr/local/
    [root@db01 ~]# ln -s /usr/local/redis-3.2.12 /usr/local/redis
    

    4.编译安装

    [root@db01 ~]# cd /usr/local/redis && make && make install
    

    5.编辑配置文件

    #创建reids配置文件目录(位置随意)
    [root@db01 redis]# mkdir /service/redis/6301 -p
    #编写配置文件
    [root@db01 redis]# vim /service/redis/6301/redis.conf
    #监听地址(注意顺序)
    bind 172.16.1.51 127.0.0.1
    #端口
    port 6301
    #后台启动
    daemonize yes
    #pid文件位置
    pidfile /service/redis/6301/redis_6301.pid
    #日志级别
    loglevel notice
    #指定日志文件
    logfile "/service/redis/6301/redis_6301.log"
    #持久化数据文件存储位置
    dir /service/redis/6301
    #rdb持久化数据文件名
    dbfilename dump.rdb
    #Redis持久化(不能配置较短的时间)
    save 900 1
    save 300 10
    save 60 10000
    
    #Redis密码
    requirepass 123
    #主从复制中主库密码
    masterauth 123
    
    

    6.启动redis

    指定配置文件启动
    [root@db02 ~]# redis-server /service/redis/6301/redis.conf
    

    7.连接redis

    [root@db01 redis]# redis-cli -a 123 -p 6301
    

    8.从库执行

    [root@db02 ~]# redis-cli -a 123 -p 6302 SLAVEOF 172.16.1.52 6302
    [root@db03 ~]# redis-cli -a 123 -p 6303 SLAVEOF 172.16.1.52 6302
    
    #可以在配置文件中配置
    replicaof 172.16.1.52 6302
    

    注意

    1.关闭防火墙
    [root@db02 ~]# systemctl stop firewalld.service
    2.关闭主从复制
    127.0.0.1:6304> slaveof no one
    
    
  • 相关阅读:
    js选项卡
    js 逻辑运算符
    git 标签管理
    git多人协作
    git 分支强制删除
    git bug修复
    DOS命令编译JAVA程序
    JDK的安装与配置
    我在linux的第一个C程序
    看我如何在控制台一行显示几万字符。
  • 原文地址:https://www.cnblogs.com/syy1757528181/p/13462218.html
Copyright © 2011-2022 走看看