本文介绍如何使用 Azure CLI 创建和删除 Azure Redis 缓存实例。 本文还介绍如何使用 Azure CLI 获取缓存详细信息,包括预配状态、主机名、端口和密钥。
- 如果没有 Azure 试用版订阅,请在开始前创建 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。 要使用登录时所用订阅以外的订阅,请运行
az account set -s <subscriptionId>
,并将<subscriptionId>
替换为要使用的订阅 ID。
备注
Azure 托管 Redis 使用 Azure CLI az redisenterprise 命令。 首次运行 redisenterprise
命令时,Azure CLI 版本 2.61.0 或更高版本的 az redisenterprise
扩展会提示你进行安装。
Azure Redis 缓存使用 az redisenterprise
适用于企业层的命令和用于基本、标准和高级层的 az redis 命令。 可以使用以下脚本创建和管理 Azure 托管 Redis。 对于 Azure Redis 缓存基本、标准和高级版,请使用 Azure Redis 缓存 脚本。
若要使用 Azure CLI 创建 Azure 托管 Redis 缓存,需要name
、location
、resourceGroup
和sku
参数。 其他参数是可选的,并且具有默认值。
可以使用本部分中的 Azure CLI 脚本创建具有默认设置的 Azure 托管 Redis 缓存。 还可以使用以下其他方法创建缓存:
- Azure 门户
- Azure PowerShell
- ARM 模板
- Bicep 模板
缓存 name
必须是在 Azure 区域中唯一的 1-63 个字符的字符串。 名称只能包含数字、字母和连字符,必须以数字或字母开头和结尾,并且不能包含连续连字符。
location
应是靠近使用缓存的其他服务的 Azure 区域。
选择一个具有适合缓存特点和性能的 SKU。
默认情况下,Microsoft Entra 身份验证功能已为所有新缓存启用,建议使用以增强安全性。
重要
将 Microsoft Entra ID 与托管标识一起使用,以授权针对缓存的请求(如果可能)。 使用 Microsoft Entra ID 和托管标识的授权可提供更好的安全性,并且比共享访问密钥授权更容易使用。 有关将托管标识与缓存配合使用的详细信息,请参阅 使用 Microsoft Entra 通过 Azure 托管 Redis 进行缓存身份验证。
默认情况下为所有新缓存启用传输层安全性 (TLS) 1.2-1.3 加密。 可以在创建缓存期间或之后启用非 TLS 端口和连接,但出于安全原因,不建议禁用 TLS。
以下脚本设置变量,然后使用 az group create 和 az redisenterprise create 命令创建 包含 Azure 托管 Redis 均衡 B1 SKU 缓存的资源组。
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="China North"
resourceGroup="redis-cache-rg-$randomIdentifier"
tag="create-manage-cache"
cache="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
以下脚本使用 az redisenterprise show 和 az redisenterprise database list-keys 命令来获取和显示上述缓存的名称、主机名、端口和密钥详细信息。
重要
仅当为缓存启用访问密钥时,该 list-keys
作才有效。 此命令的输出可能会通过显示机密来损害安全性,并可能会触发敏感信息警告。 有关详细信息,请参阅 使用 Azure CLI 管理敏感信息。
# Get details of an Azure Managed Redis cache
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 database list-keys --cluster-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]}
以下脚本使用 az group delete 和 az redisenterprise delete 命令删除前面的缓存,然后删除其资源组。
# 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
重要
使用这些脚本通过 Azure CLI az redis 命令创建和管理 Azure Cache for Redis 基本、标准和高级层。
Azure 托管 Redis 使用 az redisenterprise 命令。 首次运行 redisenterprise
命令时,Azure CLI 版本 2.61.0 或更高版本的 az redisenterprise
扩展会提示你进行安装。
可以使用以下 Azure CLI 脚本创建 Azure Cache for Redis 基本层、标准层或高级层缓存。
若要使用 Azure CLI 创建 Azure Cache for Redis 基本、标准或高级缓存, 需要 name
、location
、resourceGroup
、sku
和 size
参数。 其他参数是可选的,并且具有默认值。
可以使用本部分中的 Azure CLI 脚本以默认设置创建 Azure Cache for Redis 基本缓存。 还可以使用以下其他方法创建缓存:
缓存 name
必须是在 Azure 区域中唯一的 1-63 个字符的字符串。 名称只能包含数字、字母和连字符,必须以数字或字母开头和结尾,并且不能包含连续连字符。
location
应是靠近使用缓存的其他服务的 Azure 区域。
选择合适功能和性能的 SKU 和 size
,以满足您的缓存需求。
默认情况下为所有新缓存启用传输层安全性 (TLS) 1.2-1.3 加密。 可以在创建缓存期间或之后启用非 TLS 端口和连接,但出于安全原因,不建议禁用 TLS。
重要
推荐使用Microsoft Entra认证提高安全性。 可以在创建缓存期间或之后启用Microsoft Entra 身份验证。
将 Microsoft Entra ID 与托管标识一起使用,以授权针对缓存的请求(如果可能)。 使用 Microsoft Entra ID 和托管标识的授权可提供更好的安全性,并且比共享访问密钥授权更容易使用。 若要详细了解如何将托管标识与缓存配合使用,请参阅使用 Microsoft Entra ID 进行缓存身份验证。
以下脚本使用 az group create 和 az redis create 命令创建包含 Azure Redis 缓存的基本 C0 缓存的资源组。
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="China North"
resourceGroup="redis-cache-rg-$randomIdentifier"
tag="create-manage-cache"
cache="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) Azure Redis cache
echo "Creating $cache"
az redis create --name $cache --resource-group $resourceGroup --location "$location" --sku $sku --vm-size $size
以下脚本使用 az redis show 和 az redis list-keys 命令来获取和显示上述缓存的名称、主机名、端口和密钥详细信息。
重要
仅当为缓存启用访问密钥时,该 list-keys
作才有效。 此命令的输出可能会通过显示机密来损害安全性,并可能会触发敏感信息警告。 有关详细信息,请参阅 使用 Azure CLI 管理敏感信息。
# Get details of an Azure Cache for Redis cache
echo "Showing details of $cache"
az redis show --name "$cache" --resource-group $resourceGroup
# Retrieve the hostname and ports for an Azure Redis instance
redis=($(az redis show --name "$cache" --resource-group $resourceGroup --query [hostName,enableNonSslPort,port,sslPort] --output tsv))
# Retrieve the keys for an Azure Redis 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]}
以下脚本使用 az group delete 和 az redis delete 命令删除前面的缓存,然后删除其资源组。
# Delete an Azure 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