Spiga

2022年3月的文章归档

Redis哨兵集群文档

2022-03-26 14:47:44

摘要:前提条件 在开始之前,请确保您已经准备好了 redis-cluster 文件夹,内部包含 docker-compose.yml 和 redis.conf 文件。 创建哨兵配置文件 (sentinel.conf) 在 redis-cluster 文件夹中,新建一个名为 sentinel.conf 的文件。 将以下配置内容复制并粘贴到 sentinel.conf 文件中。 # 哨兵监控的主节点信息 # 格式: sentinel monitor master-name ip port quorum # name: 自定义的集群名称,例如 myredis # ip: 主节点的IP、主机名、容器名 # port: 主节点的端口 6379 # quorum: 法定人数。表示至少需要多少个哨兵同意,才能判定主节点下线。3个哨兵建议设置为2 sentinel monitor myredis 6379 2 # 主节点连接密码。这必须与您在 redis.conf 中设置的 requirepass 和 masterauth 密码一致 # 格式: sentinel auth-pass master-name password sentinel auth-pass myredis 123456 # 判定主节点下线的时长(毫秒) # 如果主节点在30秒内没有响应,哨兵就认为它主观下线 # 格式: sentinel down-after-milliseconds master-name milliseconds sentinel down-after-milliseconds myredis 30000 # 故障转移超时时间(毫秒) # 当故障转移开始后,若超过此时间还未完成,则视为失败 # 格式: sentinel failover-timeout master-name milliseconds sentinel failover-timeout myredis 180000 # 执行故障转移时,最多可以有多少个从节点同时对新的主节点进行同步 # 设置为 1 表示一次只有一个从节点进行同步,避免对新主节点造成过大压力 # 格式: sentinel parallel-syncs master-name num-slaves…… 阅读全文

Redis集群部署文档

2022-03-25 15:08:57

摘要:概述 本指南将引导你完成以下步骤: 创建项目文件夹和必要的配置文件。 编写 docker-compose.yml 文件来定义一主两从三个 Redis 服务。 启动并验证 Redis 集群。 测试主从数据同步。 第一步:创建项目目录和文件 首先,在你电脑的任意位置(例如 D:\ 盘)创建一个新的文件夹,用来存放本次项目的所有文件。我们将其命名为 redis-cluster。 进入 redis-cluster 文件夹,在内部创建以下两个文件: docker-compose.yml (用于编排 Docker 容器) redis.conf (Redis 实例的配置文件) 创建完成后,你的文件夹结构应该如下所示: redis-cluster/ ├── docker-compose.yml └── redis.conf 第二步:编写 docker-compose.yml 文件 用文本编辑器打开 docker-compose.yml 文件,并将以下内容复制进去。 version: '3.8' services: # 主节点服务 redis-master: image: redis container_name: redis-master restart: always ports: - 6379:6379 volumes: - ./redis.conf:/usr/local/etc/redis/redis.conf # 挂载配置文件 command: redis-server /usr/local/etc/redis/redis.conf # 使用该配置启动 networks: - redis-net # 第一个从节点服务 redis-slave1: image: redis container_name: redis-slave1 restart: always ports: - 6380:6379 volumes: - ./redis.conf:/usr/local/etc/redis/redis.…… 阅读全文

Redis知识点总结

2022-03-24 13:16:49

摘要:一、知识点汇总 基础篇 功能特点介绍 系统架构 线程模型 单线程模式 多IO线程模式 入门篇 服务端与客户端 数据类型介绍和基础用法 在.net中使用Redis 持久化篇 AOF日志 AOF配置与日志文件 回写策略 重写机制 RDB快照 RDB配置 快走频率选择 混合持久化 高可靠篇 主从集群模式 设置主从同步 主从同步的三个阶段 主从级联模式 主从集群故障问题 哨兵模式 哨兵机制基本流程 主观下线与客观下线 选主策略 缓存篇 基础概念 缓存命中 缓存缺失 旁路缓存 缓存淘汰策略 随机策略 TTL过期策略 LRU算法策略 LFU算法策略 缓存异常 缓存不一致 缓存雪崩 缓存击穿 缓存穿透 缓存污染 二、基础篇 Redie特点 高性能:极低的延迟和极高的吞吐量 数据结构多样性:value支持丰富的数据结构 持久化:数据可以保存在硬盘 高可用性:主从复制、哨兵机制 发布订阅: 可扩展性:数据分片 系统架构 线程模型 Redis采用单线程模型,每秒10万级别处理能力 避免多线程的并非控制问题,主要是共享资源的访问,互斥锁(粗颗粒) 多路复用机制(网络IO) IO多路复制机制:一个线程处理多个IO流 允许系统内核同时存在多个套接字(监听、已连接) 系统内核:事件回调机制 医院:病人(请求)----分诊台(内核监听)----转交给医生 一个医生(单线程) Redis 6.0线程模型----加入了多IO线程模式----主要用于网络请求(网络IO,底层太快、单线程跟不上) 多线程默认关闭 config set io-threads-do-reads yes config set io-threads 4 (cup核心数-2) 三、入门篇 基础数据类型(5种) String字符串:任何形式的字节数据、二进制数据、单个数据最大512M Hash哈希:字典、Map、专门用来存储对象:字段/值 对 List列表:有序的…… 阅读全文