使用 Azure CLI 创建 Azure Redis 缓存

在此方案中,你将了解如何创建 Azure Redis 缓存实例。 然后,了解如何获取缓存的详细信息,包括缓存的预配状态、主机名、端口和密钥。 最后,了解如何删除缓存。

如果您还没有 Azure 订阅,请在开始之前创建一个试用帐户。

先决条件

  • 如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 将扩展与 Azure CLI 配合使用

    • 运行az version命令,以查看已安装的版本和依赖库。 若要升级到最新版本,请运行az upgrade

示例脚本

Azure 托管 Redis

  1. 若要创建 Azure 托管 Redis(预览版)实例,请登录到 Azure 门户并选择“创建资源”。

  2. 在“新建”页面上的搜索框中键入“Azure Cache for Redis”。

  3. 在“新建 Redis 缓存”页上配置新缓存的设置。

    设置 选择值 DESCRIPTION
    订阅 单击下拉箭头并选择你的订阅。 创建新的 Azure 托管 Redis 实例所需的订阅。
    资源组 单击下拉箭头并选择一个资源组,或者选择新建并输入新的资源组名称。 要在其中创建缓存和其他资源的资源组的名称。 将所有应用资源放入一个资源组可以轻松地统一管理或删除这些资源。
    DNS 名称 输入在区域中唯一的名称。 如果与缓存的区域名称组合,缓存名称必须为介于 1 到 63 个字符的字符串,且只能包含数字、字母或连字符。 (如果缓存名称长度少于 45 个字符,则它应该可以在所有当前可用的区域中正常工作。)该名称必须以数字或字母开头和结尾,且不能包含连续的连字符。 缓存实例的主机名\<DNS name\>.\<Azure region\>.redis.chinacloudapi.cn
    位置 下拉并选择一个位置。 Azure 托管 Redis 在选定的 Azure 区域中可用。
    缓存类型 下拉列表并选择性能层和缓存大小。 层级确定了 Redis 实例的性能,而缓存大小确定可用于存储数据的内存。 有关选择适当的性能层的指导,请参阅选择适当层级

    显示 Azure 托管 Redis“基本信息”选项卡的屏幕截图。

  4. 选择“下一步: 网络”,并选择公共或专用终结点。

  5. 选择“下一页: 高级”。

    配置要添加到实例的任何 Redis 模块

    默认情况下,对于新的托管缓存:

    • 已启用 Microsoft Entra ID。
    • 出于安全原因,“访问密钥身份验证”处于禁用状态

    重要

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

    集群策略设置为企业(用于非集群缓存),或设置为 OSS(用于集群缓存)。 有关选择“群集策略”的详细信息,请参阅群集策略

    屏幕截图显示 Azure 托管 Redis 的“高级”选项卡。

    如果使用活动异地复制,则必须在创建过程中对其进行配置。 有关详细信息,请参阅为 Azure 托管 Redis 实例配置活动异地复制

    重要

    创建 Azure 托管 Redis(预览版)实例后,无法更改群集策略。 如果使用 RediSearch,则需要企业群集策略,NoEviction 是唯一支持的逐出策略。

    重要

    如果在异地复制组中使用此缓存实例,则创建实例后无法更改逐出策略。 在创建缓存之前,请务必了解主节点的逐出策略。 有关活动异地复制的详细信息,请参阅活动异地复制先决条件

    重要

    创建缓存实例后,无法更改模块。 必须在创建 Azure Cache for Redis 实例时启用模块。 没有在创建缓存后启用模块配置的选项。

  6. 选择下一步:标记并跳过。

  7. 选择 “下一步:查看 + 创建”。

  8. 检查设置,然后选择“创建”。

    创建 Redis 实例需要几分钟时间。 可以在 Azure 托管 Redis 的“概述”页面上监视进度。 如果状态显示为正在运行,则表示该缓存可供使用。

适用于 Redis 的 Azure 缓存

  1. 若要创建缓存,请登录到 Azure 门户并选择“创建资源”

    左侧导航窗格中突出显示了“创建资源”。

  2. 入门页的搜索框中输入Azure Cache for Redis。 然后选择创建

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

  3. 在“新建 Redis 缓存”页上配置缓存的设置。

    设置 选择值 DESCRIPTION
    订阅 单击下拉箭头并选择你的订阅。 要在其下创建此新的 Azure Cache for Redis 实例的订阅。
    资源组 单击下拉箭头并选择一个资源组,或者选择新建并输入新的资源组名称。 要在其中创建缓存和其他资源的资源组的名称。 将所有应用资源放入一个资源组可以轻松地统一管理或删除这些资源。
    DNS 名称 输入唯一名称。 缓存名称必须是包含 1 到 63 个字符的字符串,只能包含数字、字母或连字符。 该名称必须以数字或字母开头和结尾,且不能包含连续的连字符。 缓存实例的主机名<DNS name>.redis.cache.chinacloudapi.cn
    位置 下拉并选择一个位置。 选择靠近使用缓存的其他服务的区域
    缓存 SKU 下拉并选择一个 SKU 此 SKU 决定可用于缓存的大小、性能和功能参数。 有关详细信息,请参阅用于 Redis 的 Azure 缓存概述
    缓存大小 打开下拉列表并选择缓存的大小 有关详细信息,请参阅用于 Redis 的 Azure 缓存概述
  4. 选择网络选项卡,或选择网络按钮(位于页面底部) 。

  5. 网络选项卡中,选择你的连接方式。

  6. 选择“下一步: 高级”选项卡,或在页面底部选择“下一步: 高级”按钮,以查看“高级”选项卡。

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

    • 对于“基本”或“标准”缓存,请切换非 TLS 端口的选项。 还可以选择是否要启用“Microsoft Entra 身份验证”。
    • 对于“高级”缓存,请配置非 TLS 端口、群集、托管标识和数据持久性的设置。 还可以选择是否要启用“Microsoft Entra 身份验证”。
  7. 选择下一步: 标签选项卡,或选择页面底部的下一步: 标签按钮。

  8. 如果希望对资源进行分类,可选择地在标签选项卡中输入名称和值。

  9. 选择“查看 + 创建”。 随后你会转到“查看 + 创建”选项卡,Azure 将在此处验证配置。

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

创建缓存需要一段时间。 可以在 Azure Cache for Redis 的概述页上监视进度。 如果状态显示为正在运行,则表示该缓存可供使用。

运行脚本


# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="China North"
resourceGroup="msdocs-redis-cache-rg-$randomIdentifier"
tag="create-manage-cache"
cache="msdocs-redis-cache-$randomIdentifier"
sku="Balanced_B1"

# Create a resource group
echo "Creating $resourceGroup in "$location"..."
az group create --resource-group $resourceGroup --location "$location" --tags $tag

# Create a Balanced B1 Azure Managed Redis Cache
echo "Creating $cache"
az redisenterprise create --name $cache --resource-group $resourceGroup --location "$location" --sku $sku

# Get details of an Azure Managed Redis
echo "Showing details of $cache"
az redisenterprise show --name "$cache" --resource-group $resourceGroup 

# Retrieve the hostname and ports for an Azure Redis Cache instance
redis=($(az redisenterprise show --name "$cache" --resource-group $resourceGroup --query [hostName,enableNonSslPort,port,sslPort] --output tsv))

# Retrieve the keys for an Azure Redis Cache instance
keys=($(az redisenterprise list-keys --name "$cache" --resource-group $resourceGroup --query [primaryKey,secondaryKey] --output tsv))

# Display the retrieved hostname, keys, and ports
echo "Hostname:" ${redis[0]}
echo "Non SSL Port:" ${redis[2]}
echo "Non SSL Port Enabled:" ${redis[1]}
echo "SSL Port:" ${redis[3]}
echo "Primary Key:" ${keys[0]}
echo "Secondary Key:" ${keys[1]}

# Delete a redis cache
echo "Deleting $cache"
az redisenterprise delete --name "$cache" --resource-group $resourceGroup -y

# echo "Deleting all resources"
az group delete --resource-group $resourceGroup -y

清理资源

使用 az group delete 命令删除资源组以及与其关联的所有资源 - 除非你持续需要这些资源。 其中一些资源在创建和删除时可能要稍等片刻。

az group delete --resource-group $resourceGroup

示例参考

此脚本使用以下命令创建资源组和 Azure 托管 Redis。 表中的每条命令均链接到特定于命令的文档。

指令 注释
az group create命令用于创建资源组 创建用于存储所有资源的资源组。
az redisenterprise create 创建 Azure 托管 Redis 实例。
az redisenterprise show 命令用于显示 Redis Enterprise 的信息 检索 Azure 托管 Redis 实例的详细信息。
az redisenterprise list-keys 检索 Azure 托管 Redis 实例的访问密钥。
az redisenterprise delete 删除 Azure 托管 Redis 实例。

运行脚本


# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="China North"
resourceGroup="msdocs-redis-cache-rg-$randomIdentifier"
tag="create-manage-cache"
cache="msdocs-redis-cache-$randomIdentifier"
sku="basic"
size="C0"

# Create a resource group
echo "Creating $resourceGroup in "$location"..."
az group create --resource-group $resourceGroup --location "$location" --tags $tag

# Create a Basic C0 (256 MB) Redis Cache
echo "Creating $cache"
az redis create --name $cache --resource-group $resourceGroup --location "$location" --sku $sku --vm-size $size

# Get details of an Azure Cache for Redis
echo "Showing details of $cache"
az redis show --name "$cache" --resource-group $resourceGroup

# Retrieve the hostname and ports for an Azure Redis Cache instance
redis=($(az redis show --name "$cache" --resource-group $resourceGroup --query [hostName,enableNonSslPort,port,sslPort] --output tsv))

# Retrieve the keys for an Azure Redis Cache instance
keys=($(az redis list-keys --name "$cache" --resource-group $resourceGroup --query [primaryKey,secondaryKey] --output tsv))

# Display the retrieved hostname, keys, and ports
echo "Hostname:" ${redis[0]}
echo "Non SSL Port:" ${redis[2]}
echo "Non SSL Port Enabled:" ${redis[1]}
echo "SSL Port:" ${redis[3]}
echo "Primary Key:" ${keys[0]}
echo "Secondary Key:" ${keys[1]}

# Delete a redis cache
echo "Deleting $cache"
az redis delete --name "$cache" --resource-group $resourceGroup -y

# echo "Deleting all resources"
az group delete --resource-group $resourceGroup -y

清理资源

使用 az group delete 命令删除资源组以及与其关联的所有资源 - 除非你持续需要这些资源。 其中一些资源在创建和删除时可能要稍等片刻。

az group delete --resource-group $resourceGroup

示例参考

此脚本使用以下命令创建资源组和 Azure Redis 缓存。 表中的每条命令均链接到特定于命令的文档。

指令 注释
az group create命令用于创建资源组 创建用于存储所有资源的资源组。
az redis create(创建 Redis 实例) 创建 Azure 托管 Redis 实例。
az redis show 检索 Azure 托管 Redis 实例的详细信息。
az redis list-keys 检索 Azure 托管 Redis 实例的访问密钥。
az redis 删除 删除 Azure 托管 Redis 实例。

后续步骤

有关 Azure CLI 的详细信息,请参阅 Azure CLI 文档

有关创建带有群集的 Azure 托管 Redis 的 CLI 脚本示例,请参阅 包含群集的 Azure 托管 Redis