zoukankan      html  css  js  c++  java
  • redis主从备份

    redis主从备份,默认是读写分离的,master用于写,slave用于读。slave的写只能用于存储一些短暂状态的变量,应为在下次同步时,会被移除。

    配置主从备份原则:配从不配主,既只需修改从库配置文件。可参考官网介绍:https://redis.io/topics/replication

    配置主从备份,修改从库配置文件,添加如下指令:

    slaveof <masterip> <masterport>

    若主库需认证,还需添加如下指令:

    masterauth <password>


    通常还需修改如下配置,防止命名冲突:
    #redis监听端口号
    port 6380
    
    #pid文件
    pidfile /var/run/redis_6380.pid
    
    #日志文件
    logfile "6380.log"
    
    #rbd备份文件
    dbfilename dump6380.rdb
    
    #aof备份文件
    appendfilename "appendonly6380.aof"

    此处以一主二从简单介绍下相关步骤:

    1、在redis安装目录下创建一目录“conf”,用于存放redis配置文件

      

    mkdir conf

    2、拷贝redis.conf到conf目录下,三个redis实例一人一份

      cp redis.conf conf/redis_6379.conf
    
      cp redis.conf conf/redis_6380.conf
    
      cp redis.conf conf/redis_6381.conf

    安装之前介绍,修改个配置文件相关参数(此处6379为主库,不需添加slaveof指令, 其他两个配置文件 需添加 :slaveof 127.0.0.1 6379)。

    3、分别启动三个redis实例:

         

    ./redis-server ../conf/redis_6379.conf
    
    ./redis-server ../conf/redis_6380.conf
    
    ./redis-server ../conf/redis_6381.conf

    到此主从配置完成,可通过客户端程序:redis-cli链接上redis服务器,执行:info replication 查看服务器主从状态。

    按照上述配置的主从,实际工作中很少使用,因为主库出异常后,从库将继续保持为slave状态,则会影响程序正常工作。

    哨兵模式(反客为主):既当master出异常后,进行自动投票,在从库中选择出一个做为master提供服务(当之前的master恢复正常后,将作为该master的slave),其他的从库将作为新选出的master的slave,这样便保证了,mater异常后,不至于影响程序的正常执行。相关配置可参照官网介绍:https://redis.io/topics/sentinel

    哨兵模式虽然解决高可用的问题,但未解决数据分区的问题

    redis3.0开始,新增了redis cluster(集群)新功能,这样便保证了redis的高可用,同时也解决了数据的分区问题,相关介绍可参考官网介绍:https://redis.io/topics/cluster-tutorial

  • 相关阅读:
    K8s 使用 nfs-client-provisioner
    MySQL IF CASE 例子
    Nginx 限速
    Python 元组操作
    Python if, while,for,continue,break,三目运算符
    Centos7 安装 pyenv
    MySQL 查看大事务
    Tomcat 修改日志路径及日志分割
    游戏攻略 美少女万华镜5
    自建远程桌面过程 vnc + frp
  • 原文地址:https://www.cnblogs.com/yinz/p/7417252.html
Copyright © 2011-2022 走看看