Azure 托管 Redis 在创建实例时可设置多个配置选项。 其中许多选择是永久的或难以逆转的。 在预配缓存之前,请完成容量要求、预留策略、群集策略、模块选择、可靠性状况和安全设计。 这样,就不必重新创建实例来修复早期决策。 本文是一个决策图:它会对需要回答的问题进行排序,并指向深入介绍每个决策的专家文章,并帮助你判断在创建时锁定哪些选项,以及以后可以调整哪些选项。
本文不针对特定的工作负载模式(例如缓存、会话存储或检索增强生成)推荐配置。 有关该指南,请参阅 关键方案。 它也不会重复它链接到的专家文章的详细比较表。 使用此中心确定需要 哪些 文章,然后阅读该文章以获取完整详细信息。
决策序列
在创建实例之前按顺序完成这些步骤。 每个步骤都链接到包含完整详细信息的文章。
- 定义数据和性能要求。 估计当前数据集的大小(包括每个键的开销和预期增长)、预期的客户端峰值连接数,并判断吞吐量/CPU 还是内存容量是主要瓶颈。 这些输入驱动后续的每个决策。
- 选择层级和初始容量。 比较内存优化、均衡和计算优化层级中内存与 vCPU 之间的权衡关系,以及闪存优化层的“内存 + NVMe”模式,并为实例规格预留增长余量。 请参阅 “选择层和计划容量”。
- 评估预留节省情况。 确定稳定的区域、层和基线节点数量后,确定一年或三年的计算承诺是否符合部署计划。 请参阅 计划预留节省额。
- 选择群集策略。 根据您的客户端库对 Redis Cluster API 的支持情况、应用程序是否需要 RediSearch,以及您的工作负载是否会发出无法保证使用同一哈希槽的多键命令或事务命令,在 OSS、Enterprise 和非集群之间进行选择。 请参阅 “选择群集策略”。
- 在创建时选择模块。 确定是否需要 RediSearch、RedisJSON、RedisBloom 或 RedisTimeSeries。 模块集在创建时即已固定,而 RediSearch 会进一步限制你对集群和淘汰策略的选择。 请参阅 计划 Redis 模块。
- 确定你在可靠性和耐久性方面的策略取向。 规划高可用性(HA)、可用性区域分发、数据持久性、活动异地复制和应用程序级备份过程。 这些功能可以防范不同的故障范围,有些功能是相互排斥的。 请参阅 计划可靠性和持续性。
- 规划安全性、网络和可观测性。 决定如何隔离网络访问、对客户端进行身份验证以及监视缓存。 此规划在很大程度上独立于上述层、群集和模块选项,但在预配之前确认方法,以便网络设计(例如专用终结点的虚拟网络)准备就绪。 请参阅保护Azure托管 Redis 部署、使用 Azure 专用链接 Azure 托管 Redis、使用Microsoft Entra ID进行缓存身份验证,以及使用诊断设置监视Azure托管 Redis 数据。
- 确定哪些选项是不可变的或受约束的。 查看 在创建时锁定的决策与以后可以调整的决策 ,以便知道哪些决策现在应得到最严格的审查。
- 完成预配前决策记录。 在创建实例之前,请使用前面步骤中的选择填写 决策记录 。
Important
层系列、群集策略和模块选择是创建后具有最少灵活性的三个决策。 通常,除非删除并重新创建缓存,否则无法更改它们。 请仔细确认这三个决定,因为它们也会限制你的淘汰策略和异地复制选项。
在创建时锁定的决策与以后可以调整的决策
从预配实例的那一刻起,某些Azure托管 Redis 设置是永久性的。 其他人可以更改,但只能在一个方向或仅在特定条件下更改。 使用此摘要来确定在创建缓存之前哪些决策需要优先重点审查;每篇相关文章都涵盖了具体的约束条件。
- 在实例的整个生命周期内固定不变: 层级系列(您无法在 Flash Optimized 和任何内存层级之间切换)、OSS 或 Enterprise 集群策略,以及模块集(创建后,您无法添加、删除模块,也无法更改模块版本)。
- 只能在一个方向上更改: 非群集缓存以后可以移动到群集策略,除非它是活动异地复制组的一部分,但群集缓存不能成为非群集缓存。 可以在现有缓存上启用 HA,但一旦启用,将无法禁用。
- 可调整,但有以下限制: 容量可以扩容,但缩容要求您当前的使用量已低于目标容量,且 vCPU/分片配置兼容。 可以启用或禁用数据持久性,但它与同一缓存上的活动异地复制相互排斥。 活动异地复制实际上是单向的:将现有实例添加到异地复制组会清除其数据,并且从组中删除实例需要删除该缓存实例。 异地复制组中的每个实例还必须共享相同的配置。
- 可轻松调整: 在支持可用区的区域中启用 HA 时,可用区分布会自动生效。 大多数安全性、网络和可观测性设置(例如专用终结点、Microsoft Entra ID身份验证和诊断设置)都可以在创建后进行更改,尽管提前规划这些设置可以避免返工。
预配前决策记录
在创建实例之前填写此表。 使用它作为清单来确认你为每个区域做了一个有意的选择。 不要将其用作链接文章中详细信息的替代方法。
| 决策区域 | 你的选择 | 在创建时锁定? | 在哪里作出决定 |
|---|---|---|---|
| 数据和性能要求 | 数据集大小、增长、峰值连接、吞吐量与内存优先级 | 不适用;此决定是规划输入 | 本文 |
| 层级和初始容量 | 层级和大小 | 层级系列是固定的;大小可向上扩展,但向下缩减受限 | 选择层级和套餐容量 |
| 预留承诺 | 区域、层、范围、期限、计费频率、节点数量和自动续订 | 单独的计费承诺;范围和自动续订可能会更改,而交换和退款限制适用 | 计划预留节省 |
| 群集策略 | OSS、企业版或非集群 | OSS 和企业版类型不可更改;非群集可以切换为群集策略,除非它处于活动异地复制组中 | 选择群集策略 |
| Modules | RediSearch、RedisJSON、RedisBloom、RedisTimeSeries 或无 | 修复了创建时;以后无法添加、删除或更改版本 | 规划 Redis 模块 |
| 高可用性 | 启用或禁用 | 以后可以启用;启用后无法禁用 | 规划可靠性和持续性 |
| 可用区分布 | 在启用了区域的 HA 中自动应用 | 不可独立配置 | 规划可靠性和持续性 |
| 持久性与活动异地复制 | 持久化、异地复制,或两者皆非 | 互斥;持久化是可逆的,但异地复制实际上不可逆——加入会清除实例的数据,而退出则需要删除该实例 | 规划可靠性和持续性 |
| 应用程序级备份 | 导入/导出自动化频率 | 随时可调整 | 规划可靠性和持续性 |
| 网络隔离 | 公共访问、专用终结点或两者 | 创建后可调整 | 使用 Azure 专用链接 Azure 托管 Redis |
| Authentication | Microsoft Entra ID、访问密钥或两者 | 创建后可调整 | 使用 Microsoft Entra ID 进行缓存身份验证 |
| Observability | 指标、连接日志、诊断设置 | 创建后可调整 | 使用诊断设置监视 Azure 托管 Redis 数据 |
注释
此决策记录仅涵盖独立于工作负荷的配置。 如果设计还依赖于特定的应用程序模式,例如缓存、会话存储或矢量搜索,请单独查看该模式的指导。 该指南不属于此中心。