本文介绍如何使用 Azure PowerShell 创建、管理和删除 Azure Redis 实例。
- 如果没有 Azure 试用版订阅,请在开始前创建 Azure 试用版订阅。
- 安装 Azure PowerShell。
- 如果选择在本地使用 Azure PowerShell:
- 安装最新版本的 Az PowerShell 模块。
- 使用 Connect-AzAccount cmdlet 连接到 Azure 帐户。
- 请确保已使用您希望在其中创建缓存的订阅登录到 Azure。 若要使用与登录订阅不同的订阅,请运行
Select-AzSubscription -SubscriptionName <SubscriptionName>
。
备注
Azure 托管 Redis 使用 Azure PowerShell Az.RedisEnterpriseCache 命令。
Azure Redis 缓存使用 Az.RedisEnterpriseCache
适用于企业层的命令和适用于基本、标准和高级层的 Azure PowerShell Az.RedisCache 命令。 可以使用以下脚本创建和管理 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 "China North" -Sku Balanced_B1
可以使用 New-AzRedisEnterpriseCacheDatabase cmdlet 为 Azure 托管 Redis 缓存创建和配置数据库。 若要查看 New-AzRedisEnterpriseCacheDatabase
的可用参数列表及其说明,请运行以下命令。
Get-Help New-AzRedisEnterpriseCacheDatabase -detailed
如果在创建缓存期间未配置数据库, 则 New-AzRedisEnterpriseCache 会在默认命名 default
的缓存中创建一个数据库,并且所有缓存数据都会进入此 DB 0
数据库。
可以使用 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"}
可以使用 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
若要检索缓存的访问密钥,请使用 Get-AzRedisEnterpriseCacheKey cmdlet。 若要查看 Get-AzRedisEnterpriseCacheKey
的可用参数列表及其说明,请运行以下命令。
Get-Help Get-AzRedisEnterpriseCacheKey -detailed
若要检索缓存的密钥,请使用缓存的 Get-AzRedisEnterpriseCacheKey
和 Name
调用 ResourceGroupName
cmdlet。
Get-AzRedisEnterpriseCacheKey -Name myCache -ResourceGroupName myGroup
重要
仅当为缓存启用访问密钥时,该 ListKeys
作才有效。 此命令的输出可能会通过显示机密来损害安全性,并可能会触发敏感信息警告。
若要重新生成缓存的访问密钥,可以使用 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 缓存,请使用 Remove-AzRedisEnterpriseCache cmdlet。 若要查看 Remove-AzRedisEnterpriseCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Remove-AzRedisEnterpriseCache -detailed
以下示例删除名为 myCache
的缓存。
Remove-AzRedisEnterpriseCache -Name myCache -ResourceGroupName myGroup
可以使用 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>")
可以使用 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.chinacloudapi.cn/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 托管 Redis,请使用 Azure 托管 Redis 命令。
下表显示了常见 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 |
碎片数量 | 在启用群集的情况下创建高级缓存时要创建的分片数目。 有效值为:1、2、3、4、5、6、7、8、9、10。 | |
SKU | 缓存的 SKU。 有效值为:基本、标准、高级。 | 标准 |
Redis 配置 | Redis 配置设置。 有关每个设置的详细信息,请参阅以下 RedisConfiguration 属性表。 | |
启用非SSL端口 | 是否启用非 SSL 端口。 | 假 |
MaxMemoryPolicy | 此参数已弃用。 请改用 RedisConfiguration 。 |
|
StaticIP | 在虚拟网络中托管缓存时,子网中缓存的唯一 IP 地址。 如果未提供此值,系统将从子网中为你选择一个。 | |
子网 | 在虚拟网络中托管缓存时,缓存要部署的子网名称。 | |
虚拟网络 | 在虚拟网络中托管缓存时,要在其中部署缓存的虚拟网络的资源 ID。 | |
按键类型 | 续订访问密钥时要重新生成的访问密钥。 有效值为:主要值、辅助值。 |
资产 | DESCRIPTION | 定价层级 |
---|---|---|
已启用RDB备份 | 是否已启用 Redis 数据暂留 | 仅限高级用户 |
rdb-storage-connection-string (rdb-存储连接字符串) | 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-value (哈希最大压缩表值) | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
设置最大整数集条目数量 | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
zset 最大压缩列表条目数 | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
Z集合最大压缩列表值 | 小型聚合数据类型的内存优化。 | 标准版和高级版 |
数据库 | 数据库数。 该属性只能在创建缓存时配置。 | 标准版和高级版 |
使用 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 "China North"
若要指定 RedisConfiguration
参数的值,请将键值对括在大括号 {}
中。 以下示例使用 @{"maxmemory-policy" = "allkeys-random", "notify-keyspace-events" = "KEA"}
创建一个 1-GB 缓存。 有关详细信息,请参阅密钥空间通知(高级设置)以及内存策略。
New-AzRedisCache -ResourceGroupName myGroup -Name mycache -Location "China North" -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 "China North" -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 "China North" -Sku Premium -Size P3 -RedisConfiguration @{"databases" = "48"}
有关 databases
属性的详细信息,请参阅默认 Azure 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"}
当您修改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.
可以使用 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
若要检索缓存的访问密钥,可以使用 Get-AzRedisCacheKey cmdlet。 若要查看 Get-AzRedisCacheKey
的可用参数列表及其说明,请运行以下命令。
Get-Help Get-AzRedisCacheKey -detailed
若要检索缓存的密钥,请使用缓存 Get-AzRedisCacheKey
和 Name
调用 ResourceGroupName
cmdlet。
Get-AzRedisCacheKey -Name myCache -ResourceGroupName myGroup
重要
仅当为缓存启用访问密钥时,该 ListKeys
作才有效。 此命令的输出可能会通过显示机密来损害安全性,并可能会触发敏感信息警告。
若要重新生成缓存的访问密钥,可以使用 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 Redis 缓存,请使用 Remove-AzRedisCache cmdlet。 若要查看 Remove-AzRedisCache
的可用参数列表及其说明,请运行以下命令。
Get-Help Remove-AzRedisCache -detailed
以下示例删除名为 myCache
的缓存。
Remove-AzRedisCache -Name myCache -ResourceGroupName myGroup
可以使用 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.chinacloudapi.cn/mycontainername/blobname?sv=signedVersion&sr=signedResource&sig=signature&st=signTime&se=signedExpiry&sp=signedPermissions") -Force
可以使用 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.chinacloudapi.cn/mycontainer?sv=signedResource&sig=signature&st=signTime&se=signedExpiry&sp=signedPermissions"
可以使用 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 版本:
Get-Module Az | format-table version
登录到 Azure:
Connect-AzAccount -Environment AzureChinaCloud
查看当前订阅的列表:
Get-AzSubscription | sort SubscriptionName | Select SubscriptionName
指定要使用的 Azure 订阅:
Select-AzSubscription -SubscriptionName ContosoSubscription
获取任何 cmdlet 的详细帮助:
Get-Help <cmdlet-name> -Detailed
若要连接到由世纪互联(中国)云运营的 Microsoft Azure,请使用
Connect-AzAccount -EnvironmentName AzureChinaCloud
或
Connect-AzAccount -Environment (Get-AzEnvironment -Name AzureChinaCloud)
若要在由世纪互联运营的 Microsoft Azure 中创建缓存,请使用 China East
或 China North
位置。