docker 搭建 redis 主从复制

拼搏现实的明天。 2021-09-18 04:38 473阅读 0赞

redis是k-v型 nosql 数据库,支持字符串(string)、列表(list)、集合(set)、散列(hash)、有序集合(zset:形如member:score的散列集合,其中member为成员,score为成员得分,必须为float型数据)。

综合使用redis的以上5种数据类型,可以将redis应用于各种场景,比如点赞、投票网站、消息队列、分布式锁(使用setnx指令,该指令只有在key不存在的时候,才会执行写入操作)、文件分发、日志记录等等。

redis支持主从配置(拓展读性能,主机负责读取、写入,从机只负责读取,主机自动向从机以rdb快照形式同步数据)、持久化配置(支持rdb快照持久化、aof持久化,旧版redis不支持同时配置两种持久化方式,新版的貌似可以)、发布订阅(pub、sub)、事务、流水线pipeline(减少客户端和服务端往返连接次数从而提高性能)、客户端分片(拓展写性能)等。

redis 集群包含多种架构方式:

  • 主从复制
  • 哨兵机制
  • Cluster集群模式(服务端)
  • sharding集群(客户端sharding)
  • 中间件代理

接下来使用 docker 搭建 redis 主从复制架构:

  1. 先拉取 redis 镜像

    docker pull redis

在这里插入图片描述
查看 redis 镜像

  1. docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. ubuntu latest 775349758637 2 weeks ago 64.19 MB
  4. tutorial-01 latest 6c168117f962 3 weeks ago 139.5 MB
  5. zookeeper latest a873528df41f 4 months ago 225.1 MB
  6. redis latest d3e3588af517 6 months ago 95.04 MB
  7. elasticsearch 5 34b57bbab755 10 months ago 485.7 MB
  1. 搭建 redis 主从复制架构 redis_master, redis_slave

    docker run —name redis_master -d -p 6379:6379 redis
    docker run —name redis_slave -d -p 7000:6379 redis

    docker ps

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    c251d6405a54 redis “docker-entrypoint.sh” 3 weeks ago Up 23 minutes 0.0.0.0:7000->6379/tcp redis_slave
    cb662ace3f44 redis “docker-entrypoint.sh” 3 weeks ago Up 31 minutes 0.0.0.0:6379->6379/tcp redis_master

  2. 配置 redis 主从架构

使用如下命令查看容器内网的ip地址等信息

  1. docker inspect redis_master

在这里插入图片描述
可以看到 redis_master 内网ip地址为 172.17.0.2

进入 redis_slave 容器中

  1. docker exec -it redis_slave bash
  2. redis-cli
  3. 127.0.0.1:6379 > slaveof 173.17.0.2 6379
  4. OK

查看主从信息,发现 redis_slave 的 role 变成了 slave

  1. info replication

在这里插入图片描述

测试一下

  1. docker exec -it redis_master bash
  2. redis-cli
  3. 127.0.0.1:6379> set test hello

另起一个终端

  1. docker exec -it redis_slave bash
  2. redis-cli
  3. 127.0.0.1:6379> get test
  4. hello

到此,使用docker搭建 redis 主从复制架构就完成了。

发表评论

表情:
评论列表 (有 0 条评论,473人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Redis主从复制

    目录 1、创建三个redis-server服务实例 2、修改相应的配置文件 3、删除掉原来的持久化数据(省略) 4、启动三个实例 5、启动三个客户端 6、使用命令的

    相关 redis主从复制环境

    1、主从模式介绍: redis的主从模式,使用异步复制,slave节点异步从master节点复制数据,master节点提供读写服务,slave节点只提供读服务(这个是默认