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

使用 Azure CLI 创建 Azure Redis

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

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

先决条件

示例脚本

Azure 托管 Redis

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

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

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

    设置 选择值 说明
    订阅 单击下拉箭头并选择你的订阅。 要在其下创建这个新的 Azure 托管 Redis 实例的订阅。
    资源组 单击下拉箭头并选择一个资源组,或者选择新建并输入新的资源组名称。 要在其中创建缓存和其他资源的资源组的名称。 将所有应用资源放入一个资源组可以轻松地统一管理或删除这些资源。
    DNS 名称 输入在区域中唯一的名称。 如果与缓存的区域名称组合,缓存名称必须为介于 1 到 63 个字符的字符串,且只能包含数字、字母或连字符。 (如果缓存名称长度少于 45 个字符,则它应该可以在所有当前可用的区域中正常工作。)该名称必须以数字或字母开头和结尾,且不能包含连续的连字符。 缓存实例的主机名\<DNS name\>.\<Azure region\>.redis.azure.net
    位置 单击下拉箭头并选择一个位置。 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 门户。 在门户菜单上,选择“创建资源”。

    屏幕截图显示在 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 的“概述”窗格上监视部署进度。 如果“状态”显示为“正在运行”,则表示该缓存可供使用。

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。

当 Cloud Shell 打开时,请验证是否为环境选择了“Bash”。 后续会话将在 Bash 环境中使用 Azure CLI,选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。

登录 Azure

Cloud Shell 会在登录时使用的初始帐户下自动进行身份验证。 使用以下脚本通过其他订阅登录,将 subscriptionId 替换为你的 Azure 订阅 ID。

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

有关详细信息,请参阅设置有效的订阅以交互方式登录

运行脚本


# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
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 检索 Azure 托管 Redis 实例的详细信息。
az redisenterprise list-keys 检索 Azure 托管 Redis 实例的访问密钥。
az redisenterprise delete 删除 Azure 托管 Redis 实例。

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。

当 Cloud Shell 打开时,请验证是否为环境选择了“Bash”。 后续会话将在 Bash 环境中使用 Azure CLI,选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。

登录 Azure

Cloud Shell 会在登录时使用的初始帐户下自动进行身份验证。 使用以下脚本通过其他订阅登录,将 subscriptionId 替换为你的 Azure 订阅 ID。

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

有关详细信息,请参阅设置有效的订阅以交互方式登录

运行脚本


# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
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 创建 Azure 托管 Redis 实例。
az redis show 检索 Azure 托管 Redis 实例的详细信息。
az redis list-keys 检索 Azure 托管 Redis 实例的访问密钥。
az redis 删除 删除 Azure 托管 Redis 实例。

后续步骤

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

有关创建使用聚类分析的 Azure 托管 Redis 的 Azure 托管 Redis CLI 脚本示例,请参阅使用聚类分析的 Azure 托管 Redis