Redis 部署方式有哪些

devtools/2025/3/15 6:44:04/

以下是 Redis 主从复制和分布式部署的详细方法和步骤:


1.Redis 主从复制部署

架构
主从复制是 Redis 最基本的分布式机制,通过将数据从主节点(Master)复制到多个从节点(Slave),实现读写分离和数据备份。

部署步骤

  1. 安装 Redis

• 安装编译环境(如makegcc)。

• 下载并编译 Redis:

     wget http://download.redis.io/releases/redis-7.2.5.tar.gztar xvf redis-7.2.5.tar.gzcd redis-7.2.5/make && make install```2. 配置主从节点• 主节点配置(`redis.conf`):```confport 6379bind 0.0.0.0```• 从节点配置(`redis.conf`):```confport 6380bind 0.0.0.0slaveof 127.0.0.1 6379```3. 启动 Redis 实例• 启动主节点:```bashredis-server /path/to/master_redis.conf```• 启动从节点:```bashredis-server /path/to/slave_redis.conf```4. 验证主从复制• 在主节点执行写操作,从节点会自动同步数据。---2\.Redis Sentinel(哨兵模式)部署架构
Sentinel 是 Redis 的高可用性解决方案,基于主从复制,增加了哨兵节点用于监控和自动故障转移。部署步骤1. 配置主从复制(同上)。2. 配置 Sentinel• 创建`sentinel.conf`文件:```confport 26379daemonize yespidfile /var/run/redis-sentinel.pidlogfile "/var/log/redis-sentinel.log"dir /tmpsentinel myid 1sentinel monitor mymaster 127.0.0.1 6379 2sentinel auth-pass mymaster <password>sentinel down-after-milliseconds mymaster 5000sentinel parallel-syncs mymaster 1sentinel failover-timeout mymaster 60000```3. 启动 Sentinel 实例• 启动多个 Sentinel 实例(至少 3 个):```bashredis-sentinel /path/to/sentinel.conf```4. 验证故障转移• 关闭主节点,Sentinel 会自动将从节点提升为主节点。---3\.Redis Cluster(集群模式)部署架构
Redis Cluster 是 Redis 的原生分布式方案,支持数据分片和高可用性。部署步骤1. 安装 Redis• 同主从复制的安装步骤。2. 配置集群节点• 创建多个节点配置文件(`redis.conf`):```confport <port>daemonize yescluster-enabled yescluster-config-file nodes-<port>.confcluster-node-timeout 5000appendonly yes```3. 启动节点• 启动每个节点的 Redis 实例:```bashredis-server /path/to/redis.conf```4. 创建集群• 使用`redis-cli`创建集群:```bashredis-cli --cluster create <node1_ip>:<port1> <node2_ip>:<port2> ... --cluster-replicas 1```• 示例:```bashredis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:8000 127.0.0.1:8001 127.0.0.1:9000 127.0.0.1:9001 --cluster-replicas 1```5. 验证集群状态• 连接到任意节点,执行`CLUSTER INFO``CLUSTER NODES`查看集群状态。---注意事项• 数据一致性:主从复制和集群模式都可能存在数据同步延迟,导致短暂的数据不一致。• 故障转移时间:Sentinel 和 Cluster 的故障转移需要一定时间,可能会导致短暂的服务中断。• 资源分配:合理分配主从节点和哨兵节点的资源,确保系统的高可用性和性能。

http://www.ppmy.cn/devtools/167226.html

相关文章

江科大51单片机笔记【15】直流电机驱动(PWM)

写在前言 此为博主自学江科大51单片机&#xff08;B站&#xff09;的笔记&#xff0c;方便后续重温知识 在后面的章节中&#xff0c;为了防止篇幅过长和易于查找&#xff0c;我把一个小节分成两部分来发&#xff0c;上章节主要是关于本节课的硬件介绍、电路图、原理图等理论…

【实战篇】执行计划解析

执行计划解析 获取执行计划 数据库优化器可能会根据连接方式、连接条件等因素选择不同的执行计划。你可以通过 EXPLAIN 关键字查看两个查询的执行计划&#xff0c;以便更好地理解优化器的选择。 EXPLAIN SELECT ... -- 替换 ... 部分为你的查询内容观察执行计划并查看其中的…

MySQL与Redis的缓存一致性问题

MySQL与Redis的缓存一致性问题 前言 在学习中&#xff0c;为了提高数据的读取效率&#xff0c;我们往往会使用Redis来作为MySQL数据的缓存&#xff0c;那么&#xff0c;自然就产生了二者间数据的一致性问题。 想要对MySQL和Redis进行数据处理&#xff0c;自然会产生以下问题…

3.14学习总结

今天完成了几道关于二叉树的算法题 关于二叉树的最小最大深度和数据流中的第k大元素&#xff0c;用到优先队列&#xff0c;学习了有关java的基础知识&#xff0c;学习了双指针法。

Windows11使用CMD命令行从零开始创建一个Flask项目并使用虚拟环境

在 Windows 11 中&#xff0c;你可以使用 CMD 命令 创建一个 Flask 项目&#xff0c;并使用 虚拟环境&#xff08;venv 或 pipenv&#xff09; 进行管理。以下是从零开始的完整步骤&#xff1a; 方法 1&#xff1a;使用 venv 创建虚拟环境 1. 打开 CMD 按 Win R&#xff0c;…

Python 逆向工程:2025 年能破解什么?

有没有想过在复杂的软件上扭转局面&#xff1f;到 2025 年&#xff0c;Python 逆向工程不仅仅是黑客的游戏&#xff0c;它是开发人员、安全专业人员和好奇心强的人解开编译代码背后秘密的强大方法。无论您是在剖析恶意软件、分析 Python 应用程序的工作原理&#xff0c;还是学习…

基于javaweb的SpringBoot杂物商城系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

使用 Excel 实现绩效看板的自动化

引言 在日常工作中&#xff0c;团队的绩效监控和管理是确保项目顺利进行的重要环节。然而&#xff0c;面临着以下问题&#xff1a; ​数据分散&#xff1a;系统中的数据难以汇总&#xff0c;缺乏一个宏观的团队执行情况视图。​看板缺失&#xff1a;系统本身可能无法提供合适…