• docker redis主从复制


    一、首先搭建三个redis服务

    创建三个文件配置目录以及数据目录

    创建的目录为/docker/redis/conf

    运行一下命令,既启动三个redis

    docker run -p 6379:6379 --name redis -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d dcf9ec9265e0 redis-server /etc/redis/redis.conf --appendonly yes
    docker run -p 6380:6379 --name redis_blank -v /docker/redis/conf2/redis.conf:/etc/redis/redis.conf -v /docker/redis/data2:/data -d dcf9ec9265e0 redis-server /etc/redis/redis.conf --appendonly yes
    docker run -p 6381:6379 --name redis_blank2 -v /docker/redis/conf3/redis.conf:/etc/redis/redis.conf -v /docker/redis/data3:/data -d dcf9ec9265e0 redis-server /etc/redis/redis.conf --appendonly yes

    二、使用docker 命令进入容器

    docker exec -it 容器名称或镜像ID /bin/bash

    三、使用客户端命令登录redis

    redis-cli -h 127.0.0.1 -p 端口号

    使用info replication 命令时,会发现三个redis的信息都为master

    环境配置:

    使用6379 作为主库,其他均为从库;在配置从库时 不用配置主库即可,

    在从库的redis服务中:使用如下命令

    slaveof 主库容器的IP地址 端口号 即可;

    PS:如出现 Redis主从复制失败(master_link_status:down) 则检查网络是否通畅,检查主库是否设置了密码,检查防火墙端口;

    使用docker时,不能用 slaveof 127.0.0.1 6379 ;因为127.0.0.1 不是主库的的IP 是本地的,所以使用docker 命令查看容器IP:docker inspect 容器名称或命令 如: docker inspect redis

     四、以上为主从配置的环境

    测试步骤:首先在从库设置一个键: 如

    从库:

     详细博客: https://blog.csdn.net/iechenyb/article/details/79828413

     详细概念: https://www.cnblogs.com/wade-luffy/p/9639986.html

    小问题?

    主库挂了,从库还能读取到数据吗?

    答:必须的,主库挂了,从库依然可以获取数据

    主库宕机之后,在重启 依然还是主库。

    主库挂了,如何让从库变为主库?(冷处理)

    可以手动设置,在从库的服务上:使用以下命令 slaveof no one  将slave提升为master,在把宕机的主库手动设置为从库,使用 slvaeof ip 端口号;

    热处理

     redis哨兵模式

  • 相关阅读:
    1029 旧键盘 (20 分)C、Java、python
    1028 人口普查 (20 分)C语言
    1027 打印沙漏 (20 分)C语言
    luoguP2709 小B的询问
    luoguP2709 小B的询问
    bzoj5016 [Snoi2017]一个简单的询问
    bzoj5016 [Snoi2017]一个简单的询问
    luoguP1972 [SDOI2009]HH的项链(莫队)
    luoguP1972 [SDOI2009]HH的项链(莫队)
    Tyvj1091
  • 原文地址:https://www.cnblogs.com/hellohero55/p/12545822.html
Copyright © 2020-2023  润新知