• redis主从复制


    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

    • 特性:
    • 运行在内存中的数据集工作方式
    • 支持多种数据结构
    • 提供不同级别的磁盘持久化功能
    • 可搭建高可用集群
    • 支持对数据进行原子操作
    • 支持主从复制
    • 支持事务
    • 内存回收
    • 过期自动删除key
    • 订阅分发
    • LUA脚本
    • 自动故障转移
    • 支持大多数编程语言

    使用Docker管理Redis服务,省去繁琐的安装配置,快速启动停止,快速部署Redis Cluster

    使用Redis官方镜像:

    拉取镜像:

    docker pull redis
    

    启动一个redis实例

    $ docker run --name some-redis -d redis
    

    启动实例开启持久性存储

    $ docker run --name some-redis -d redis redis-server --appendonly yes
    

    如果保存数据文件到宿主机,使用-v选项,数据卷挂载即可。

    从另外一个应用连接到此容器

    $ docker run --name some-app --link some-redis:redis -d application-that-uses-redis
    

    redis客户端连接到此服务

    $ docker run -it --link some-redis:redis --rm redis redis-cli -h redis -p 6379
    

    启动时使用自定义配置文件,配置文件放置在宿主机/myredis/conf/redis.conf

    $ docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
    

    redis主从复制实现读写隔离

    原理:

    1)当一个从数据库启动时,会向主数据库发送sync命令,

    2)主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

    3)当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。

    4)从数据库收到后,会载入快照文件并执行收到的缓存的命令。

     

    这里使用一主一从,也可以一主多从

    $ docker run --name master-redis -p 6379:6379 -d redis redis-server --appendonly yes
    
    $ docker run --name slave-redis --link master-redis:master-redis -p 6380:6379 -d redis redis-server --appendonly yes --slaveof master-redis 6379
    

    master-redis可以读写

    ./redis-cli -p 6379
    

    ./redis-cli -p 6380
    

    slave-redis只能读,不能写

     

  • 相关阅读:
    在同一iphone项目添加lite版
    加权平均资本成本【读书笔记】
    强制iphone界面马上旋转
    市场营销经典《引爆点》简摘
    操作系统与固件,驱动是什么
    如何使用单元测试测试线程安全
    20192428魏来 《网络与系统系统攻防技术》实验四 恶意代码分析
    计网复习 https的加密过程
    jdk8下载安装与环境变量配置
    panic: qtls.ConnectionState not compatible with tls.ConnectionState
  • 原文地址:https://www.cnblogs.com/jjzd/p/7344379.html
Copyright © 2020-2023  润新知