你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何配置 Azure Redis 缓存

本文介绍可用于 Azure Cache for Redis 实例的配置。 本文还将介绍适用于 Azure Cache for Redis 实例的默认 Redis 服务器配置

注意

有关配置和使用高级缓存功能的详细信息,请参阅如何配置持久性如何配置虚拟网络支持

配置 Azure Redis 缓存设置

  1. 若要创建缓存,请登录到 Azure 门户。 在门户菜单上,选择“创建资源”。

    屏幕截图显示在 Azure 门户的左侧导航窗格上突出显示的“创建资源”选项。

  2. 在“入门”窗格上的搜索栏中输入“Azure Cache for Redis”。 在搜索结果中找到“Azure Cache for Redis”,然后选择“创建”

    屏幕截图显示 Azure 市场,其中的搜索框中包含“Azure Cache for Redis”,突出显示了“创建”按钮。

  3. 在“新建 Redis 缓存”窗格的“基本信息”选项卡上,配置缓存的以下设置:

    设置 操作 说明
    订阅 选择 Azure 订阅。 用于创建 Azure Cache for Redis 的新实例的订阅。
    资源组 选择一个资源组,或者选择“新建”并输入新的资源组名称。 要在其中创建缓存和其他资源的资源组的名称。 将所有应用资源放入一个资源组可以轻松地统一管理或删除这些资源。
    DNS 名称 输入唯一名称。 缓存名称必须是长度为 1 到 63 个字符的字符串,只能包含数字、字母和连字符。 该名称必须以数字或字母开头和结尾,且不能包含连续的连字符。 缓存实例的主机名\<DNS name>.redis.cache.windows.net
    位置 选择一个位置。 一个靠近其他使用缓存的服务的 Azure 区域
    缓存 SKU 选择 SKU 此 SKU 决定可用于缓存的大小、性能和功能参数。 有关详细信息,请参阅 Azure Cache for Redis 概述
    缓存大小 选择缓存大小。 有关详细信息,请参阅 Azure Cache for Redis 概述
  4. 选择“网络”选项卡,或者选择“下一步: 网络”

  5. 在“网络”选项卡上,选择用于缓存的连接方法。

  6. 选择“高级”选项卡,或者选择“下一步: 高级”

  7. 在“高级”窗格上,根据以下信息验证或选择身份验证方法:

    屏幕截图显示“高级”窗格和可供选择的选项。

    • 默认情况下,对于新的“基本”、“标准”或“高级”缓存,“Microsoft Entra 身份验证”将处于启用状态,而“访问密钥身份验证”则处于禁用状态。
    • 对于“基本”或“标准”缓存,可以选择非 TLS 端口的选项。
    • 对于“标准”和“高级”缓存,可以选择启用可用性区域。 创建缓存后,无法禁用可用性区域。
    • 对于“高级”缓存,请配置非 TLS 端口、群集、托管标识和数据持久性的设置。

    重要

    为了获得最佳安全性,我们建议你在可能的情况下使用 Microsoft Entra ID 和托管标识来授权针对缓存的请求。 与共享访问密钥授权相比,使用 Microsoft Entra ID 和托管标识进行授权提供了更高的安全性和易用性。 若要详细了解如何将托管标识与缓存配合使用,请参阅使用 Microsoft Entra ID 进行缓存身份验证

  8. (可选)选择“标记”选项卡或选择“下一步: 标记”。

  9. (可选)如果希望对缓存资源进行分类,请在“标记”选项卡中输入标记名称和值

  10. 选择“查看 + 创建”按钮。

    在“查看 + 创建”选项卡上,Azure 会自动验证你的配置

  11. 显示绿色的“已通过验证”消息后,选择“创建” 。

新的缓存部署需要几分钟的时间。 可以在 Azure Cache for Redis 的“概述”窗格上监视部署进度。 如果“状态”显示为“正在运行”,则表示该缓存可供使用。

可使用“资源菜单” 查看和配置以下设置。 你看到的设置取决于缓存的层。 例如,使用 Enterprise 层时看不到“重新启动”。

概述

“概述”部分提供有关缓存的基本信息,如名称、端口、定价层,以及所选的缓存指标。

活动日志

选择“活动日志”查看对缓存执行的操作。 也可以使用筛选来展开此视图,以包含其他资源。 有关如何使用审核日志的详细信息,请参阅使用资源管理器审核操作。 有关监视活动日志的详细信息,请参阅 Azure日志

访问控制 (IAM)

“访问控制 (IAM)”部分在 Azure 门户中为 Azure 基于角色的访问控制 (Azure RBAC) 提供支持。 此配置有助于组织轻松准确地满足其访问管理要求。 有关详细信息,请参阅 Azure 门户中 Azure 基于角色的访问控制

标记

“标记” 部分可帮助用户整理资源。 有关详细信息,请参阅使用标记来组织 Azure 资源

诊断并解决问题

选择“诊断并解决问题”可显示常见问题和用于解决这些问题的策略。

事件

选择“事件”以将事件订阅添加到缓存。 通过 Azure 中内置的完全托管的事件路由服务,使用事件构建事件驱动的反应式应用。

事件网格可帮助你在云基础结构中构建自动化、创建无服务器应用以及跨服务和云集成。 有关详细信息,请参阅什么是 Azure 事件网格?

Redis 控制台

可以使用“Redis 控制台”向 Azure Cache for Redis 实例安全地发出命令,此操作在 Azure 门户中适用于基本、标准和高级缓存层。

重要

Redis 控制台无法使用 VNet。 如果缓存是 VNet 的一部分,则只有 VNet 中的客户端可以访问缓存。 由于 Redis 控制台在 VNet 外部的本地浏览器中运行,因此无法连接到缓存。

若要访问 Redis 控制台,请在“资源”菜单的工作窗格中选择“控制台”选项卡。

突出显示“控制台”按钮的屏幕截图。

若要针对缓存实例发出命令,请在控制台中键入所需的命令。

显示带有输入命令和结果的 Redis 控制台的屏幕截图。

注意

Azure Redis 缓存中并不支持所有 Redis 命令。 有关为 Azure Cache for Redis 禁用的 Redis 命令列表,请参阅 Azure Cache for Redis 中不支持的 Redis 命令部分。 有关 Redis 命令的详细信息,请参阅 https://redis.io/commands

配合使用 Redis 控制台和高级群集缓存

配合使用 Redis 控制台和高级群集缓存时,可向缓存的单个分片发出命令。 若要向特定的分片发出命令,请先在分片选取器中选择所需的分片,以连接到该分片。

Redis 控制台

如果尝试访问存储在不同分片(而非已连接的分片)中的密钥,将收到类似于以下消息的错误消息:

shard1>get myKey
(error) MOVED 866 13.90.202.154:13000 (shard 0)
shard1>get myKey
(error) MOVED 866 13.90.202.154:13000 (shard 0)

在之前的示例中,分片 1 为所选分片,但如错误消息的 (shard 0) 部分所述,myKey 位于分片 0 中。 在此示例中,若要访问 myKey,请使用分片选取器选择分片 0,然后发出所需命令。

将缓存移动到新的订阅

可以选择“移动”,将缓存移到新的订阅。

移动 Azure Redis 缓存

有关在资源组之间以及订阅之间移动资源的信息,请参阅将资源移到新的资源组或订阅

设置

“设置” 部分用于访问和配置缓存的下列设置。

身份验证

有两个选项用于身份验证:访问密钥和 Microsoft Entra 身份验证。

选择“访问密钥”以查看或重新生成缓存访问密钥。 这些密钥由连接到缓存的客户端使用。

显示“资源”菜单中选中了“身份验证”,以及“工作”窗格中选中了访问密钥的屏幕截图。

高级设置

以下设置是在左侧的“高级设置”上配置的。

访问端口

默认情况下,将为新缓存禁用非 TLS/SSL 访问。 若要启用非 TLS 端口,请对左侧“高级设置”上的“仅允许通过 SSL 访问”选择“否”,然后选择“保存” 。

注意

对 Azure Cache for Redis 的 TLS 访问目前支持 TLS 1.0、1.1 和 1.2,但 1.0 和 1.1 版本即将停用。 有关更多详细信息,请阅读我们的“删除 TLS 1.0 和 1.1”页

Azure Redis 缓存访问端口

内存策略

使用左侧“资源”菜单中“高级设置”上的“Maxmemory policy”、“maxmemory-reserved”和“maxfragmentationmemory-reserved”设置,为缓存配置内存策略。 创建缓存时,值 maxmemory-reservedmaxfragmentationmemory-reserved 默认为 maxmemory(即缓存大小)的 10%。

Azure Redis 缓存 Maxmemory 策略

“Maxmemory policy” 用于为缓存配置逐出策略,并允许你从以下逐出策略中进行选择:

  • volatile-lru:默认逐出策略。 它删除含过期设置的所有密钥中最近很少使用的密钥。
  • allkeys-lru:删除最近很少使用的密钥。
  • volatile-random:删除含过期设置的随机密钥。
  • allkeys-random:删除一个随机密钥。
  • volatile-ttl:删除基于其过期设置将最快过期的密钥。
  • noeviction:无逐出策略。 如果尝试插入数据,则返回一条错误消息。
  • volatile-lfu:从设置了过期字段的所有密钥中删除最不常用的密钥。
  • allkeys-lfu:从所有密钥中删除最不常用的密钥。

有关 maxmemory 策略的详细信息,请参阅 Eviction policies(逐出策略)。

“maxmemory-reserved”设置用于配置群集中保留给非缓存操作(例如故障转移期间的复制)的每个实例的内存量(以 MB 为单位)。 设置此值能够在负载变化时具有更一致的 Redis 服务器体验。 对于写入大量数据的工作负载,应将此值设置得较大。 为此类操作保留内存后,无法存储缓存数据。 滑块上的最小值和最大值分别为 10% 和 60%,以 MB 为单位显示。 设置的值必须在此范围内。

“maxfragmentationmemory-reserve”设置用于配置群集中保留以容纳内存碎片的每个实例的内存量(以 MB 为单位)。 设置此值后,当缓存已满或接近满的状态并且碎片比率很高时,Redis 服务器体验更加稳定。 为此类操作保留内存后,无法存储缓存数据。 滑块上的最小值和最大值分别为 10% 和 60%,以 MB 为单位显示。 设置的值必须在此范围内。

在选择新的内存预留值(maxmemory-reserved 或 maxfragmentationmemory-reserved)时,请注意此更改可能会如何影响已在运行的包含大量数据的缓存。 例如,如果你的 53 GB 缓存中已有 49 GB 数据,那么,将预留值更改为 8 GB 后,此更改会将系统的最大可用内存降至 45 GB。 如果你的当前 used_memoryused_memory_rss 值高于 45 GB 的新限制,则系统必须逐出数据,直到 used_memoryused_memory_rss 均低于 45 GB。 逐出可能会增加服务器负载和内存碎片。 有关缓存指标(例如,used_memoryused_memory_rss)的更多信息,请参阅创建自己的指标

重要

maxmemory-reservedmaxfragmentationmemory-reserved 设置适用于基本、标准和高级缓存。

密钥空间通知(高级设置)

Redis 密钥空间通知是左侧的“高级设置”中配置的。 密钥空间通知让客户端能够在发生特定事件时接收通知。

Azure Cache for Redis 的“高级设置” )

重要

密钥空间通知和“notify-keyspace-events” 设置仅适用于标准缓存和高级缓存。

有关详细信息,请参阅 Redis Keyspace Notifications(Redis 密钥空间通知)。 有关示例代码,请参阅 Hello world 示例中的 KeySpaceNotifications.cs 文件。

缩放

选择“缩放”可查看或更改缓存的定价层。 有关缩放的详细信息,请参阅如何缩放 Azure Redis 缓存

Azure Redis 缓存定价层

群集大小

选择“群集大小”可更改正在运行且已启用群集的高级缓存的群集大小。

群集大小

若要更改群集大小,请使用滑块,或在“分片计数”文本框中键入 1 到 10 之间的数字。 然后选择“确定”以保存。

数据持久性

选择“数据持久性”可启用、禁用或配置高级缓存的数据持久性。 Azure Redis 缓存通过 RDB 持久性或 AOF 持久性提供 Redis 持久性。

有关详细信息,请参阅如何为高级 Azure Redis 缓存配置持久性

重要

Redis 数据持久性适用于 Premium 缓存、Enterprise 缓存(预览版)和 Enterprise Flash(预览版)。

标识

使用“标识”配置托管标识。 托管标识是 Azure 中的一种常用工具,可帮助开发人员最大程度地减轻管理机密和登录信息的负担。

目前,只能将托管标识用于存储。 有关详细信息,请参阅用于存储的托管标识

注意

托管标识功能仅在高级层中可用于存储。

计划更新

可通过“计划更新”部分选择一个维护时段,以便针对缓存进行 Redis 服务器更新。

重要

维护时段仅适用于 Redis 服务器更新,不适用于任何 Azure 更新或托管缓存的 VM 的操作系统更新。

计划更新

若要指定维护时段,请选中所需的天数。 然后指定每天的维护时段开始时间并选择“确定”。 维护时段使用 UTC 时间。

有关详细信息和说明,请参阅更新通道和计划更新

异地复制

“资源”菜单上的“异地复制”提供了一种用于链接两个高级层 Azure Cache for Redis 实例的机制。 一个缓存名为主链接缓存,另一个缓存名为辅助链接缓存。 辅助链接缓存将变为只读,写入主缓存的数据将复制到辅助链接缓存。 此功能可用于跨 Azure 区域复制缓存。

重要

异地复制 仅适用于高级层缓存。 有关详细信息和说明,请参阅如何为 Azure Redis 缓存配置异地复制

虚拟网络

“虚拟网络” 部分用于配置缓存的虚拟网络设置。 虚拟网络仅限于高级缓存。 有关利用 VNET 支持创建高级缓存并更新其设置的信息,请参阅如何配置高级 Azure Redis 缓存的虚拟网络支持

重要

虚拟网络设置仅适用于缓存创建期间利用 VNet 支持配置的高级缓存。

专用终结点

通过“专用终结点”部分可以配置缓存的专用终结点设置。 所有缓存层(基本、标准、高级和企业)都支持专用终结点。 我们建议使用专用终结点而不是 VNet。 专用终结点易于设置或删除,在所有层上都受支持,并且可以一次将缓存连接到多个不同的 VNet。

有关详细信息,请参阅使用 Azure 专用链接的 Azure Cache for Redis

防火墙

  • 防火墙规则配置可用于所有基本层、标准层和高级层。
  • 防火墙规则配置不适用于 Enterprise 层和 Enterprise Flash 层。

选择“防火墙”可查看和配置缓存的防火墙规则。

防火墙

可以指定具有开始和结束 IP 地址范围的防火墙规则。 配置防火墙规则时,仅指定 IP 地址范围内的客户端连接可以连接到缓存。 保存防火墙规则后,规则生效前会出现短暂的延迟。 延迟通常不超过 1 分钟。

重要

即使配置了防火墙规则,仍始终允许来自 Azure Redis 缓存监视系统的连接。

属性

选择“属性”可查看有关缓存的信息,包括缓存终结点和端口。

Azure Redis 缓存属性

锁定

“锁定” 部分可用来锁定订阅、资源组或资源,以防止组织中的其他用户意外删除或修改关键资源。 更多信息请参阅 使用 Azure Resource Manager 锁定资源

管理设置

可以通过“管理” 部分的设置针对缓存执行以下管理任务。

管理

导入/导出

导入/导出是一项 Azure Cache for Redis 数据管理操作,可用于在缓存中导入和导出数据。 可以将 Azure Cache for Redis 数据库 (RDB) 快照从高级缓存导入和导出到 Azure 存储帐户的页 blob 中。 使用导入/导出可在不同的 Azure Redis 缓存实例之间进行迁移,或者在使用之前使用数据填充缓存。

可以将导入用于在任何云或环境中运行的任何 Redis 服务器中与 Redis 兼容的 RDB 文件:

  • 包括 Linux 上运行的 Redis
  • Windows
  • 任何云提供商,如 Amazon Web Services 等

导入数据是使用预先填充的数据创建缓存的一种简单方式。 在导入过程中,Azure Redis 缓存从 Azure 存储将 RDB 文件加载到内存中,再将密钥插入到缓存中。

可以使用导出将 Azure Redis 缓存中存储的数据导出到与 Redis 兼容的 RDB 文件。 可以使用此功能将一个 Azure Redis 缓存实例中的数据移到另一个 Azure Redis 缓存实例或另一个 Redis 服务器。 在导出过程中,会在托管 Azure Cache for Redis 服务器实例的 VM 上创建临时文件。 临时文件将上传到指定的存储帐户。 导出操作完成后,无论状态为成功还是失败,都会删除临时文件。

重要

导入/导出仅适用于高级层缓存。 有关详细信息和说明,请参阅在 Azure Redis 缓存中导入和导出数据

重新启动

可通过“重新启动”项来重新启动缓存的节点。 如果有缓存节点发生故障,此重新启动功能可用于测试应用程序的复原能力。

重新启动

如果高级缓存启用了群集功能,则可选择要重新启动的缓存分片。

显示在何处选择要重新启动的缓存分片的屏幕截图。

若要重新启动缓存的一个或多个节点,请选择所需节点,然后选择“重新启动”。 如果高级缓存启用了群集功能,请选择要重新启动的分片,然后选择“重新启动”。 几分钟后,所选节点将重新启动,再过几分钟后,又会回到联机状态。

重要

Enterprise 层尚不可重新启动。 所有其他层都可以重新启动。 有关详细信息和说明,请参阅 Azure Redis 缓存管理 - 重启

监视

监视”部分用于配置 Azure Cache for Redis 实例的诊断和监视。

诊断

Insights

使用“见解”查看预定义磁贴和图表组,以用作缓存指标的起点。 有关详细信息,请参阅 Insights

指标

选择“指标”以创建你自己的自定义图表,用于跟踪要查看的缓存指标。 有关详细信息,请参阅创建自己的指标

警报

选择“警报”可基于 Azure Cache for Redis 指标配置警报。 有关详细信息,请参阅创建警报

诊断设置

默认情况下,Azure Monitor 中的缓存指标将存储 30 天,然后被删除。 若要将缓存指标保存 30 天以上,请选择“诊断设置”以配置存储帐户(用于存储缓存诊断数据)。

注意

除了将缓存指标存档到存储中外,还可以将其流式传输到事件中心或将其发送到 Azure Monitor 日志

顾问建议

“顾问建议”显示适用于缓存的建议。 在正常操作期间,不会显示任何建议。

显示顾问建议显示位置但没有当前建议的屏幕截图。

如果在缓存操作期间发生任何状况,例如即将发生的更改、高内存使用率、网络带宽或服务器负载,则“资源”菜单的“概述”中会显示警报。

显示在“资源”菜单中选择“概述”时警报的显示位置的屏幕截图。

可在 Azure 门户工作窗格中的“建议”上找到更多信息。

显示顾问建议的屏幕截图

可以在“资源”菜单的监视部分监视这些指标。

Azure Redis 缓存指标 详细信息
网络带宽使用率 缓存性能 - 可用带宽
连接的客户端数 默认 Redis 服务器配置 - 最大客户端数
服务器负载 Redis 服务器负载
内存使用率 缓存性能 - 大小

若要升级缓存,请选择“立即升级”以更改定价层并缩放缓存。 有关选择定价层的详细信息,请参阅选择适当的层

工作簿

将指标分为多个组,以便一致且有效地显示指标信息。

自动化

Azure 自动化提供基于云的自动化、操作系统更新和配置服务,用于支持 Azure 环境和非 Azure 环境之间的一致管理。

任务

选择“任务”可帮助你更轻松地管理 Azure Cache for Redis 资源。 这些任务的数量和可用性因资源类型而异。 目前,只能在预览时使用“发送每月资源成本”模板来创建任务。

有关详细信息,请参阅通过创建自动化任务来管理 Azure 资源和监视成本

导出模板

选择“导出模板”可生成并导出已部署资源的模板供将来部署。 有关使用模板的详细信息,请参阅使用 Azure Resource Manager 模板部署资源

支持和故障排除设置

“支持 + 疑难解答” 部分中的设置提供了用于解决缓存问题的选项。

支持和疑难解答

资源运行状况

“资源运行状况” 会监视资源,并告知资源是否按预期运行。 有关 Azure 资源运行状况服务的详细信息,请参阅 Azure 资源运行状况概述

注意

资源运行状况当前无法报告在虚拟网络中托管的 Azure Redis 缓存实例的运行状况。 有关详细信息,请参阅 在 VNET 中托管缓存时,是否可以使用所有缓存功能?

新建支持请求

选择“新建支持请求”可建立缓存的支持请求。

默认 Redis 服务器配置

新的 Azure Redis 缓存实例均已配置以下默认 Redis 配置值:

注意

无法使用 StackExchange.Redis.IServer.ConfigSet 方法更改本部分中的设置。 如果使用此部分中的任一命令调用此方法,将引发类似于如下示例的异常:

StackExchange.Redis.RedisServerException: ERR unknown command 'CONFIG'

任何可配置的值(例如 max-memory-policy)都可以通过 Azure 门户或命令行管理工具(例如 Azure CLI 或 PowerShell)进行配置。

设置 默认值 说明
databases 16 默认的数据库数为 16,但可以根据定价层配置不同数目。1 默认数据库是 DB 0,可以基于每个连接使用 connection.GetDatabase(dbid)(其中 dbid 是介于 0databases - 1 之间的数字)选择其他数据库。
maxclients 取决于定价层2 该值是同一时间内允许的最大已连接客户端数。 一旦达到该限制,Redis 会在关闭所有新连接的同时返回“达到客户端最大数量”的错误。
maxmemory-reserved maxmemory 的 10% maxmemory-reserved 的允许范围是 maxmemory 的 10% - 60%。 如果尝试将这些值设置为低于 10% 或高于 60%,则系统会重新评估这些值,并将其设置为最小值 10% 和最大值 60%。 这些值以兆字节为单位呈现。
maxfragmentationmemory-reserved maxmemory 的 10% maxfragmentationmemory-reserved 的允许范围是 maxmemory 的 10% - 60%。 如果尝试将这些值设置为低于 10% 或高于 60%,则系统会重新评估这些值,并将其设置为最小值 10% 和最大值 60%。 这些值以兆字节为单位呈现。
maxmemory-policy volatile-lru Maxmemory 策略是 Redis 服务器使用的一种设置,用来选择在达到 maxmemory(创建缓存时选择的缓存大小)时要删除的内容。 使用 Azure Cache for Redis 时,默认设置为 volatile-lru。 此设置使用 LRU 算法删除设置了过期时间的密钥。 可以在 Azure 门户中配置此设置。 有关详细信息,请参阅内存策略
maxmemory-samples 3 LRU 算法和最小 TTL 算法都是近似算法而不是精确算法,这是为了节省内存。 默认情况下,Redis 会检查三个密钥并选取最近使用较少的一个。
lua-time-limit 5,000 Lua 脚本的最大执行时间(以毫秒为单位)。 如果达到最大执行时间,Redis 将记录脚本在达到最大允许时间后仍在执行,并开始以错误响应查询。
lua-event-limit 500 脚本事件队列的最大大小。
client-output-buffer-limit normal / client-output-buffer-limit pubsub 0 0 0 / 32mb 8mb 60 客户端输出缓冲区限制可用于强制断开与某些客户端的连接,这些客户端由于某种原因而无法以足够快的速度从服务器读取数据。 常见的原因是发布/订阅客户端使用消息的速度不如发布者生成消息的速度快。 有关详细信息,请参阅 https://redis.io/topics/clients

数据库

1每个 Azure Redis 缓存定价层的 databases 限制是不同的,可以在创建缓存时进行设置。 如果在创建缓存期间未指定 databases 设置,则默认值为 16。

  • 基本缓存和标准缓存
    • C0 (250 MB) 缓存 - 最多支持 16 个数据库
    • C1 (1 GB) 缓存 - 最多支持 16 个数据库
    • C2 (2.5 GB) 缓存 - 最多支持 16 个数据库
    • C3 (6 GB) 缓存 - 最多支持 16 个数据库
    • C4 (13 GB) 缓存 - 最多支持 32 个数据库
    • C5 (26 GB) 缓存 - 最多支持 48 个数据库
    • C6 (53 GB) 缓存 - 最多支持 64 个数据库
  • 高级缓存
    • P1 (6 GB - 60 GB) - 最多支持 16 个数据库
    • P2 (13 GB - 130 GB) - 最多支持 32 个数据库
    • P3 (26 GB - 260 GB) - 最多支持 48 个数据库
    • P4 (53 GB - 530 GB) - 最多支持 64 个数据库
    • P5 (120 GB - 1200 GB) - 最多支持 64 个数据库
    • 所有启用了 Redis 群集的高级缓存 - Redis 群集仅支持使用数据库 0,因此任何启用了 Redis 群集的高级缓存的 databases 限制实际上是 1,并且不允许使用 Select 命令。

有关数据库的详细信息,请参阅什么是 Redis 数据库?

注意

databases 设置只能在创建缓存期间配置,并且只能使用 PowerShell、CLI 或其他管理客户端进行配置。 有关在创建缓存期间使用 PowerShell 配置 databases 的示例,请参阅 New-AzRedisCache

Maxclients

2maxclients 属性对于每个 Azure Cache for Redis 定价层都是不同的。

  • 基本缓存和标准缓存
    • C0 (250 MB) 缓存 - 最多支持 256 个连接
    • C1 (1 GB) 缓存 - 最多支持 1,000 个连接
    • C2 (2.5 GB) 缓存 - 最多支持 2,000 个连接
    • C3 (6 GB) 缓存 - 最多支持 5,000 个连接
    • C4 (13 GB) 缓存 - 最多支持 10,000 个连接
    • C5 (26 GB) 缓存 - 最多支持 15,000 个连接
    • C6 (53 GB) 缓存 - 最多支持 20,000 个连接
  • 高级缓存
    • P1 (6 GB - 60 GB) - 最多支持 7,500 个连接
    • P2 (13 GB - 130 GB) - 最多支持 15,000 个连接
    • P3 (26 GB - 260 GB) - 最多支持 30,000 个连接
    • P4 (53 GB - 530 GB) - 最多支持 40,000 个连接
    • P5 (120 GB - 1200 GB) - 最多支持 40,000 个连接

注意

虽然每个缓存大小最多允许一定数量的连接,但与 Redis 的每个连接都具有其关联的开销。 此类开销的一个示例是,由于 TLS/SSL 加密而导致的 CPU 和内存使用。 给定缓存大小的最大连接限制假定轻负载缓存。 如果连接开销的负载客户端操作的负载超出了系统容量,那么即使未超出当前缓存大小的连接限制,缓存也可能会遇到容量问题。

Azure Redis 缓存中不支持 Redis 命令

Azure Cache for Redis 实例的配置和管理由 Microsoft 负责,这会禁用以下命令。 如果尝试调用它们,将收到一条类似于 "(error) ERR unknown command" 的错误消息。

  • ACL
  • BGREWRITEAOF
  • BGSAVE
  • CLUSTER - 群集写入命令已禁用,但允许使用只读群集命令。
  • CONFIG
  • DEBUG
  • MIGRATE
  • PSYNC
  • REPLICAOF
  • REPLCONF - Azure Redis 缓存实例不允许客户添加外部副本。 此命令通常仅由服务器发送。
  • SAVE
  • SHUTDOWN
  • SLAVEOF
  • 同步

对于使用活动异地复制的缓存实例,还会阻止以下命令,以防止意外丢失数据:

  • FLUSHALL
  • FLUSHDB

重要

因为 Azure Cache for Redis 实例的配置和管理由 Microsoft 负责,所以禁用了一些命令。 上面列出了这些命令。 如果尝试调用它们,将收到一条类似于 "(error) ERR unknown command" 的错误消息。

有关 Redis 命令的详细信息,请参阅 https://redis.io/commands