本文介绍如何使用 Azure PowerShell 创建、管理和删除 Azure Redis 实例。
先决条件
-
如果没有 Azure 帐户,请在开始前创建一个免费帐户。
在 Azure Cloud Shell 中安装 Azure PowerShell 或使用 PowerShell 环境。 有关详细信息,请参阅 Azure Cloud Shell 入门。
- 如果选择在本地使用 Azure PowerShell:
- 安装最新版本的 Az PowerShell 模块。
- 使用 Connect-AzAccount cmdlet 连接到 Azure 帐户。
- 如果选择使用 Azure Cloud Shell:
- 有关详细信息,请参阅 Azure Cloud Shell 概述。
- 请确保已使用您希望在其中创建缓存的订阅登录到 Azure。 若要使用与登录订阅不同的订阅,请运行
Select-AzSubscription -SubscriptionName <SubscriptionName>
。
注释
Azure 托管 Redis 使用 Azure PowerShell Az.RedisEnterpriseCache 命令。
Azure Redis 缓存使用 Az.RedisEnterpriseCache
适用于企业层的命令和适用于基本、标准和高级层的 Azure PowerShell Az.RedisCache 命令。 可以使用以下脚本创建和管理 Azure 托管 Redis 或 Azure Redis Enterprise 缓存。 对于 Azure Redis 缓存基本、标准和高级版,请使用 Azure Redis 缓存 脚本。
创建 Azure 托管 Redis 缓存
使用 New-AzRedisEnterpriseCache cmdlet 创建新的 Azure 托管 Redis 实例。 ResourceGroupName
、 Name
、 Location
和 Sku
必需参数。 其他参数是可选的,并且具有默认值。
默认情况下,Microsoft Entra 身份验证功能已为所有新缓存启用,建议使用以增强安全性。
重要
将 Microsoft Entra ID 与托管标识一起使用,以授权针对缓存的请求(如果可能)。 使用 Microsoft Entra ID 和托管标识的授权可提供更好的安全性,并且比共享访问密钥授权更容易使用。 有关将托管标识与缓存配合使用的详细信息,请参阅 使用 Microsoft Entra 通过 Azure 托管 Redis 进行缓存身份验证。
有关 New-AzRedisEnterpriseCache
的所有 Azure Managed Redis PowerShell 参数和属性,请参阅 New-AzRedisEnterpriseCache。 若要输出可用参数的列表及其说明,请运行以下命令。
Get-Help New-AzRedisEnterpriseCache -detailed
注释
首次在订阅中创建 Azure 托管 Redis 缓存时,Azure 会为你注册 Microsoft.Cache
命名空间。 如果出现提示,可以使用 Azure PowerShell Register-AzResourceProvider -ProviderNamespace "Microsoft.Cache"
命令注册命名空间。
以下示例命令使用默认参数创建具有指定名称、位置、资源组和 SKU 的 Azure 托管 Redis 实例。 实例的大小为 1 GB,且禁用了非 SSL 端口。
New-AzRedisEnterpriseCache -ResourceGroupName myGroup -Name mycache -Location "North Central US" -Sku Balanced_B1
创建和配置数据库
可以使用 New-AzRedisEnterpriseCacheDatabase cmdlet 为 Azure 托管 Redis 缓存创建和配置数据库。 若要查看 New-AzRedisEnterpriseCacheDatabase
的可用参数列表及其说明,请运行以下命令。
Get-Help New-AzRedisEnterpriseCacheDatabase -detailed
如果在创建缓存期间未配置数据库, 则 New-AzRedisEnterpriseCache 会在默认命名 default
的缓存中创建一个数据库,并且所有缓存数据都会进入此 DB 0
数据库。
更新 Azure 托管 Redis 缓存
可以使用 Update-AzRedisEnterpriseCache cmdlet 更新 Azure 托管 Redis 实例。 若要查看 Update-AzRedisEnterpriseCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Update-AzRedisEnterpriseCache -detailed
可以使用 Update-AzRedisEnterpriseCache
cmdlet 更新属性,例如 Sku
, Tag
和 MinimumTlsVersion
。 以下命令更新最低传输层安全性(TLS)版本,并将一个标记添加到名为myCache
的 Azure 托管 Redis 缓存。
Update-AzRedisEnterpriseCache -Name "myCache" -ResourceGroupName "myGroup" -MinimumTlsVersion "1.2" -Tag @{"tag1" = "value1"}
获取有关 Azure 托管 Redis 缓存的信息
可以使用 Get-AzRedisEnterpriseCache cmdlet 检索有关缓存的信息。 若要查看 Get-AzRedisEnterpriseCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Get-AzRedisEnterpriseCache -detailed
若要返回当前订阅中所有缓存的相关信息,请运行不带任何参数的 Get-AzRedisEnterpriseCache
。
Get-AzRedisEnterpriseCache
若要返回特定资源组中所有缓存的相关信息,请结合 Get-AzRedisEnterpriseCache
参数运行 ResourceGroupName
。
Get-AzRedisEnterpriseCache -ResourceGroupName myGroup
若要返回有关特定缓存的信息,请使用缓存的 Get-AzRedisEnterpriseCache
和 Name
运行 ResourceGroupName
。
Get-AzRedisEnterpriseCache -Name myCache -ResourceGroupName myGroup
检索 Azure 托管 Redis 缓存的访问密钥
若要检索缓存的访问密钥,请使用 Get-AzRedisEnterpriseCacheKey cmdlet。 若要查看 Get-AzRedisEnterpriseCacheKey
的可用参数列表及其说明,请运行以下命令。
Get-Help Get-AzRedisEnterpriseCacheKey -detailed
若要检索缓存的密钥,请使用缓存的 Get-AzRedisEnterpriseCacheKey
和 Name
调用 ResourceGroupName
cmdlet。
Get-AzRedisEnterpriseCacheKey -Name myCache -ResourceGroupName myGroup
重要
仅当为缓存启用访问密钥时,该 ListKeys
作才有效。 此命令的输出可能会通过显示机密来损害安全性,并可能会触发敏感信息警告。
重新生成 Azure 托管 Redis 缓存的访问密钥
若要重新生成缓存的访问密钥,可以使用 New-AzRedisEnterpriseCacheKey cmdlet。 若要查看 New-AzRedisEnterpriseCacheKey
的可用参数列表及其说明,请运行以下命令。
Get-Help New-AzRedisEnterpriseCacheKey -detailed
若要为缓存重新生成主密钥或辅助密钥,请调用 New-AzRedisEnterpriseCacheKey
cmdlet,并使用缓存Name
和ResourceGroupName
,在Primary
参数中指定Secondary
或KeyType
。 以下示例重新生成缓存的辅助访问密钥。
New-AzRedisEnterpriseCacheKey -Name myCache -ResourceGroupName myGroup -KeyType Secondary
删除 Azure 托管 Redis 缓存
若要删除 Azure 托管 Redis 缓存,请使用 Remove-AzRedisEnterpriseCache cmdlet。 若要查看 Remove-AzRedisEnterpriseCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Remove-AzRedisEnterpriseCache -detailed
以下示例删除名为 myCache
的缓存。
Remove-AzRedisEnterpriseCache -Name myCache -ResourceGroupName myGroup
导入 Azure 托管 Redis 缓存数据
可以使用 Import-AzRedisEnterpriseCache
cmdlet 将数据导入 Azure 托管 Redis 实例。 若要查看 Import-AzRedisEnterpriseCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Import-AzRedisEnterpriseCache -detailed
需要缓存 Name
和 ResourceGroupName
以及要导入的 blob 的 SasUri
。 以下命令从 SAS URI 指定的 Blob 导入数据。
Import-AzRedisEnterpriseCache -ClusterName "myCache" -ResourceGroupName "myGroup" -SasUri @("<sas-uri>")
导出 Azure 托管 Redis 缓存数据
可以使用 Export-AzRedisEnterpriseCache
cmdlet 将数据从 Azure 托管 Redis 实例导出。 若要查看 Export-AzRedisEnterpriseCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Export-AzRedisEnterpriseCache -detailed
需要缓存 Name
和 ResourceGroupName
以及要导出的容器的 SasUri
。 以下示例命令从 SAS URI 指定的容器导出数据。
Export-AzRedisEnterpriseCache -Name "myCache" -ResourceGroupName "myGroup" -SasUri "https://mystorageaccount.blob.core.windows.net/mycontainer?sp=signedPermissions&se=signedExpiry&sv=signedVersion&sr=signedResource&sig=signature;mystoragekey"
重要
Azure Redis 缓存使用适用于基本、标准和高级层的 Azure PowerShell Az.RedisCache 命令,以及适用于企业层的 Azure PowerShell Az.RedisEnterpriseCache 命令。
可以使用以下脚本创建和管理 Azure Redis 缓存基本、标准和高级版。 对于 Azure Cache for Redis Enterprise 或 Azure Managed Redis,请使用 Azure Managed Redis 命令。
Azure Cache for Redis PowerShell 属性和参数
下表显示了常见 Azure Redis 缓存参数的 Azure PowerShell 属性和说明。 有关所有 Azure PowerShell 参数和属性 Az.RedisCache
,请参阅 AzRedisCache。
参数 | DESCRIPTION | 违约 |
---|---|---|
名称 | 缓存的名称。 | |
位置 | 缓存的位置。 | |
资源组名称 | 要在其中创建缓存的资源组名称。 | |
尺寸 | 缓存的大小。 有效值为:P1、P2、P3、P4、P5、C0、C1、C2、C3、C4、C5、C6、250 MB、1 GB、2.5 GB、6 GB、13 GB、26 GB、53 GB。 | 1GB |
ShardCount | 在启用群集的情况下创建高级缓存时要创建的分片数目。 有效值为:1、2、3、4、5、6、7、8、9、10。 | |
SKU | 缓存的 SKU。 有效值为:基本、标准、高级。 | 标准 |
RedisConfiguration | Redis 配置设置。 有关每个设置的详细信息,请参阅以下 RedisConfiguration 属性表。 | |
启用非SSL端口 | 是否启用非 SSL 端口。 | 假 |
MaxMemoryPolicy | 此参数已弃用。 请改用 RedisConfiguration 。 |
|
StaticIP | 在虚拟网络中托管缓存时,子网中缓存的唯一 IP 地址。 如果未提供此值,系统将从子网中为你选择一个。 | |
子网 | 在虚拟网络中托管缓存时,缓存要部署的子网名称。 | |
虚拟网络 | 在虚拟网络中托管缓存时,要在其中部署缓存的虚拟网络的资源 ID。 | |
按键类型 | 续订访问密钥时要重新生成的访问密钥。 有效值为:主要值、辅助值。 |
RedisConfiguration 参数的属性
资产 | DESCRIPTION | 定价层级 |
---|---|---|
rdb-backup-enabled | 是否已启用 Redis 数据暂留 | 仅限高级用户 |
rdb-storage-connection-string | Redis 数据暂留存储帐户的连接字符串。 | 仅限高级用户 |
rdb备份频率 | Redis 数据持久性的备份频率。 | 仅限高级用户 |
maxmemory-reserved | 为非缓存进程保留的内存。 | 标准版和高级版 |
最大内存策略 (maxmemory-policy) | 缓存的 [逐出策略]/azure-cache-for-redis/cache-configure.md#memory-policies)。 | 所有定价层 |
通知键空间事件 | [密钥空间通知]/azure-cache-for-redis/cache-configure.md#keyspace-notifications-advanced-settings)。 | 标准版和高级版 |
hash-max-ziplist-entries | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
hash-max-ziplist-value (哈希最大压缩表值) | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
set-max-intset-entries | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
zset-max-ziplist-entries | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
Z集合最大压缩列表值 | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
数据库 | 数据库数。 该属性只能在创建缓存时配置。 | 标准版和高级版 |
创建 Azure Cache for Redis 缓存
使用 New-AzRedisCache cmdlet 创建新的 Azure Redis 缓存实例。 ResourceGroupName
、 Name
和 Location
必需参数。 其他参数是可选的,并且具有默认值。
重要
推荐使用Microsoft Entra认证提高安全性。 可以在创建缓存期间或之后启用Microsoft Entra 身份验证。
将 Microsoft Entra ID 与托管标识一起使用,以授权针对缓存的请求(如果可能)。 使用 Microsoft Entra ID 和托管标识的授权可提供更好的安全性,并且比共享访问密钥授权更容易使用。 若要详细了解如何将托管标识与缓存配合使用,请参阅使用 Microsoft Entra ID 进行缓存身份验证。
若要查看 New-AzRedisCache 的可用参数及其说明的列表,请运行以下命令:
Get-Help New-AzRedisCache -detailed>
注释
首次在订阅中创建 Azure Cache for Redis 缓存时,Azure 会为你注册 Microsoft.Cache
命名空间。 如果出现提示,可以使用 Azure PowerShell Register-AzResourceProvider -ProviderNamespace "Microsoft.Cache"
命令注册命名空间。
以下示例命令使用默认参数创建具有指定名称、位置和资源组的 Azure Redis 缓存实例。 该实例是禁用非 SSL 端口的标准 1 GB 缓存。
New-AzRedisCache -ResourceGroupName myGroup -Name mycache -Location "North Central US"
若要指定 RedisConfiguration
参数的值,请将键值对括在大括号 {}
中。 以下示例使用 @{"maxmemory-policy" = "allkeys-random", "notify-keyspace-events" = "KEA"}
创建一个 1-GB 缓存。 有关详细信息,请参阅密钥空间通知(高级设置)以及内存策略。
New-AzRedisCache -ResourceGroupName myGroup -Name mycache -Location "North Central US" -RedisConfiguration @{"maxmemory-policy" = "allkeys-random", "notify-keyspace-events" = "KEA"}
创建高级缓存
若要创建 Azure Redis 缓存高级层缓存,请指定大小 P1
(6-60 GB)、(13-130 GB)、 P2
P3
(26-260 GB)或 P4
(53-530 GB)。 若要启用群集,使用 ShardCount
参数指定分片计数。
以下示例创建包含三个分片的 P1 Premium 缓存。 P1 高级缓存大小为 6 GB,具有三个分片,总大小为 18 GB(3 x 6 GB)。
New-AzRedisCache -ResourceGroupName myGroup -Name mycache -Location "North Central US" -Sku Premium -Size P1 -ShardCount 3
配置数据库设置
databases
New-AzRedisCache cmdlet 中的设置配置缓存中的数据库数。 您只能在创建缓存期间使用 PowerShell 或其他管理客户端为标准层和高级层配置 databases
。
如果在创建缓存期间未指定 databases
设置, 则 New-AzRedisCache 会创建一个名为 default
的数据库,并且所有缓存数据都会进入此 DB 0
数据库。 数据库限制取决于缓存层和大小,但默认设置为 16。
以下示例创建包含 48 个数据库的高级 P3(26 GB)缓存。
New-AzRedisCache -ResourceGroupName myGroup -Name mycache -Location "North Central US" -Sku Premium -Size P3 -RedisConfiguration @{"databases" = "48"}
有关 databases
属性的详细信息,请参阅默认 Azure Redis 缓存服务器配置。
更新 Azure Cache for Redis 缓存
使用 Set-AzRedisCache cmdlet 更新 Azure Redis 缓存实例。 若要查看 Set-AzRedisCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Set-AzRedisCache -detailed
可以使用 Set-AzRedisCache
cmdlet 更新属性,例如Size
,Sku
,EnableNonSslPort
,以及RedisConfiguration
值。 以下示例命令更新名为 maxmemory-policy
的 Azure Cache for Redis 实例的 myCache
。
Set-AzRedisCache -ResourceGroupName "myGroup" -Name "myCache" -RedisConfiguration @{"maxmemory-policy" = "allkeys-random"}
缩放 Azure Cache for Redis 缓存
当您修改Set-AzRedisCache
、Size
或Sku
属性时,可以使用ShardCount
来缩放 Azure Redis 缓存实例。
注释
使用 PowerShell 缩放缓存具有与使用 Azure 门户缩放缓存相同的限制和准则。 可以扩展到不同定价层,但有以下限制:
- 无法从更高的定价层缩放到较低的定价层,例如从高级缓存扩展到标准或基本缓存,或从标准缓存扩展到基本缓存。
- 可以从基本缓存缩放到标准缓存,但不能同时更改大小。 如果需要不同的大小,可以执行另一次缩放操作以达到所需的大小。
- 无法直接从基本缓存缩放到高级缓存。 必须在一个缩放操作中从“基本”缩放到“标准”,然后在另一个操作中从“标准”缩放到“高级”。
- 无法从更大的大小缩减到 C0(250 MB)大小。
有关详细信息,请参阅 如何缩放 Azure Redis 缓存。
以下示例演示如何缩放名为 myCache
2.5 GB 大小的缓存。 此命令适用于基本或标准缓存。
Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 2.5GB
发出此命令后,将返回缓存的状态,类似于调用 Get-AzRedisCache
。 ProvisioningState
设置为 Scaling
。
缩放操作完成后,ProvisioningState
更改为 Succeeded
。 如果需要执行另一个操作,例如在从“基本”更改为“标准”后调整大小,则必须等到前一操作完成。 否则,会收到类似于以下消息的错误。
Set-AzRedisCache : Conflict: The resource '...' is not in a stable state, and is currently unable to accept the update request.
获取有关 Azure Cache for Redis 缓存的信息
可以使用 Get-AzRedisCache cmdlet 检索有关缓存的信息。 若要查看 Get-AzRedisCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Get-AzRedisCache -detailed
若要返回当前订阅中所有缓存的相关信息,请运行不带任何参数的 Get-AzRedisCache
。
Get-AzRedisCache
若要返回特定资源组中所有缓存的相关信息,请结合 Get-AzRedisCache
参数运行 ResourceGroupName
。
Get-AzRedisCache -ResourceGroupName myGroup
若要返回有关特定缓存的信息,请运行命令 Get-AzRedisCache
并使用缓存参数 Name
和 ResourceGroupName
.
Get-AzRedisCache -Name myCache -ResourceGroupName myGroup
检索 Azure Cache for Redis 缓存的访问密钥
若要检索缓存的访问密钥,可以使用 Get-AzRedisCacheKey cmdlet。 若要查看 Get-AzRedisCacheKey
的可用参数列表及其说明,请运行以下命令。
Get-Help Get-AzRedisCacheKey -detailed
若要检索缓存的密钥,请使用缓存 Get-AzRedisCacheKey
和 Name
调用 ResourceGroupName
cmdlet。
Get-AzRedisCacheKey -Name myCache -ResourceGroupName myGroup
重要
仅当为缓存启用访问密钥时,该 ListKeys
作才有效。 此命令的输出可能会通过显示机密来损害安全性,并可能会触发敏感信息警告。
再生成 Azure Cache for Redis 缓存的访问密钥
若要重新生成缓存的访问密钥,可以使用 New-AzRedisCacheKey cmdlet。 若要查看 New-AzRedisCacheKey
的可用参数列表及其说明,请运行以下命令。
Get-Help New-AzRedisCacheKey -detailed
若要为缓存重新生成主密钥或辅助密钥,请调用 New-AzRedisCacheKey
cmdlet,并使用缓存Name
和ResourceGroupName
,在Primary
参数中指定Secondary
或KeyType
。 以下示例重新生成缓存的辅助访问密钥。
New-AzRedisCacheKey -Name myCache -ResourceGroupName myGroup -KeyType Secondary
删除 Azure Cache for Redis 缓存
若要删除 Azure Redis 缓存,请使用 Remove-AzRedisCache cmdlet。 若要查看 Remove-AzRedisCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Remove-AzRedisCache -detailed
以下示例删除名为 myCache
的缓存。
Remove-AzRedisCache -Name myCache -ResourceGroupName myGroup
将数据导入 Azure Cache for Redis 缓存
可以使用 Import-AzRedisCache
cmdlet 将数据导入 Azure Redis 缓存实例。
重要
导入仅适用于 高级层 缓存。 有关详细信息,请参阅 Azure Redis 缓存中的导入和导出数据。
若要查看 Import-AzRedisCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Import-AzRedisCache -detailed
以下命令将数据从参数指定的 Files
Blob 导入 Azure Redis 缓存中。
Import-AzRedisCache -ResourceGroupName "resourceGroupName" -Name "cacheName" -Files @("https://mystorageaccount.blob.core.windows.net/mycontainername/blobname?sv=signedVersion&sr=signedResource&sig=signature&st=signTime&se=signedExpiry&sp=signedPermissions") -Force
导出 Azure Cache for Redis 缓存数据
可以使用 Export-AzRedisCache
cmdlet 将数据从 Azure Redis 缓存实例导出。
重要
导出仅适用于 高级层 缓存。 有关详细信息,请参阅 Azure Redis 缓存中的导入和导出数据。
若要查看 Export-AzRedisCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Export-AzRedisCache -detailed
以下命令将数据从 Azure Cache for Redis 实例导出到参数指定的 Container
容器中。
Export-AzRedisCache -ResourceGroupName "resourceGroupName" -Name "cacheName" -Prefix "blobprefix" -Container "https://mystorageaccount.blob.core.windows.net/mycontainer?sv=signedResource&sig=signature&st=signTime&se=signedExpiry&sp=signedPermissions"
重启 Azure Cache for Redis 缓存
可以使用 Reset-AzRedisCache
cmdlet 重启 Azure Redis 缓存实例。
重要
重新启动仅适用于 基本层、标准层和高级层 Azure Redis 缓存。 有关详细信息,请参阅 缓存管理 - 重新启动。
若要查看 Reset-AzRedisCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Reset-AzRedisCache -detailed
以下命令重新启动指定缓存的两个节点。
Reset-AzRedisCache -ResourceGroupName "resourceGroupName" -Name "cacheName" -RebootType "AllNodes" -Force
常规 Azure PowerShell 命令
在 Azure PowerShell 命令提示符处运行这些命令。
检查 Azure PowerShell 版本:
Get-Module Az | format-table version
登录到 Azure:
Connect-AzAccount
查看当前订阅的列表:
Get-AzSubscription | sort SubscriptionName | Select SubscriptionName
指定要使用的 Azure 订阅:
Select-AzSubscription -SubscriptionName ContosoSubscription
获取任何 cmdlet 的详细帮助:
Get-Help <cmdlet-name> -Detailed
如何连接到其他云
默认情况下,Azure 环境 AzureCloud
表示全局 Azure 云。 若要连接到其他云实例,请结合使用 Connect-AzAccount
与 -Environment
或结合使用 -EnvironmentName
命令行开关与所需环境或环境名称。
若要查看可用环境的列表,请运行 Get-AzEnvironment
。
Azure 政府云
若要连接到 Azure 政府云,请使用
Connect-AzAccount -EnvironmentName AzureUSGovernment
或
Connect-AzAccount -Environment (Get-AzEnvironment -Name AzureUSGovernment)
若要在 Azure 政府云中创建缓存,请使用 USGov Virginia
或 USGov Iowa
位置。
有关 Azure 政府版云的详细信息,请参阅 Microsoft Azure 政府版和 Microsoft Azure 政府版开发人员指南。
由世纪互联运营的 Azure
若要连接到由世纪互联运营的 Azure(中国)云,请使用
Connect-AzAccount -EnvironmentName AzureChinaCloud
或
Connect-AzAccount -Environment (Get-AzEnvironment -Name AzureChinaCloud)
若要在由世纪互联云运营的 Azure 中创建缓存,请使用 China East
或 China North
位置。
Microsoft Azure 德国
若要连接到 Microsoft Azure 德国,请使用
Connect-AzAccount -EnvironmentName AzureGermanCloud
或
Connect-AzAccount -Environment (Get-AzEnvironment -Name AzureGermanCloud)
若要在 Microsoft Azure 德国创建缓存,请使用 Germany Central
或 Germany Northeast
位置。
有关 Microsoft Azure Germany 的详细信息,请参阅 Microsoft Azure Germany。