管理缓存(Windows Server AppFabric 缓存)
运行 Windows Server AppFabric 缓存群集之后,焦点便转移到管理缓存群集上的各个缓存。 本部分提供如何使用 Windows PowerShell 命令执行常规缓存管理功能的示例。 有关缓存管理命令的完整列表,请参阅将 Windows PowerShell 与 AppFabric 缓存结合使用。
创建新缓存
以下示例使用 New-Cache
命令创建一个名为 Cache1
的新缓存。 对所有缓存配置设置使用默认值。
New-Cache Cache1
以下示例创建一个名为 Cache2
的新缓存。 本示例将 Secondaries
参数设置为 1
,它启用该缓存的高可用性。 请注意,这需要所有缓存主机都运行 Enterprise 或 Datacenter 版本的 Windows Server。 本示例还通过将 NotificationsEnabled
参数设置为 "true"
启用通知。 有关这些 AppFabric 缓存功能的详细信息,请参阅缓存概念。
New-Cache Cache2 -Secondaries 1 -NotificationsEnabled "true"
请注意,缓存名称通常区分大小写。 此规则的例外是当缓存配置存储将 SQL Server 用于使用不区分大小写的排序规则的数据库时。
命名缓存的数量限制为 128 个。 如果您需要 128 个以上的缓存,则客户端应用程序可以考虑使用区域。 客户端应用程序可以使用 DataCache 类的 CreateRegion 方法创建区域。 可以在一个缓存中拥有多个区域,并且不同区域中具有相同名称的缓存密钥仍然是唯一的。 这并不影响应用程序设计。 因此,告诉开发团队该缓存限制是非常重要的。
列出缓存和区域
Get-Cache
命令列出缓存群集上的所有缓存及其区域。
Get-Cache
在主动缓存群集上,AppFabric 创建默认区域。 随着缓存的增加,这些默认区域的数量也会增加。 应用程序也能够创建其自己的区域。 如果您只对查看没有区域信息的缓存名称感兴趣,则可以将 MaxRegions
参数设置为 0
。 以下示例演示了这一技术。
Get-Cache -MaxRegions 0
还可以查看有关特定缓存主机的缓存信息。 尽管可以跨多个主机分布单个缓存,但在主机之间该缓存中的区域可能有所不同。 以下命令显示名为 CacheServer1
且缓存端口为 22233
的缓存主机的所有缓存信息。 本示例将 MaxRegionsPerCache
限制为 10
。
Get-Cache -HostName CacheServer1 -CachePort 22233 -MaxRegionsPerCache 10
尽管 Get-Cache
显示区域信息,您也可以使用 Get-CacheRegion
命令查看区域信息。 以下命令显示群集中每个缓存主机的 10 个区域。
Get-CacheRegion -MaxRegionsPerHost 10
删除缓存
Remove-Cache
命令删除缓存群集中的缓存。
Remove-Cache Cache1
查看缓存配置设置
要查看缓存的当前设置,请使用 Get-CacheConfig
命令。
Get-CacheConfig Cache1
在上面的示例中,Get-CacheConfig
命令显示 Cache1
的缓存配置设置。 下面是该命令的输出示例。
CacheName : Cache1
TimeToLive : 10 mins
CacheType : Partitioned
Secondaries : 0
IsExpirable : True
EvictionType : LRU
NotificationsEnabled : False
下表提供了有关这些设置中每个设置的详细信息。
设置 | 说明 |
---|---|
CacheName |
缓存的名称。 |
TimeToLive |
项目在过期之前驻留在缓存中的默认时间。 |
CacheType |
缓存的类型。 它始终为 |
Secondaries |
值 |
IsExpirable |
指出缓存中的对象是否可以过期。 |
EvictionType |
指定最近最少使用 ( |
NotificationsEnabled |
指出是否为该缓存启用通知。 |
有关这些缓存功能的详细信息,请参阅过期和逐出、高可用性和缓存通知。
更改缓存配置设置
有时,您可能想更改现有缓存的配置设置。 有两个可用的过程:
使用
Remove-Cache
命令删除缓存,然后使用New-Cache
命令重新创建具有所需设置的缓存。使用
Set-CacheConfig
命令。
例如,在上面的示例中,开发人员决定对 Cache1
缓存使用缓存通知。 尽管他们将其代码更改为使用通知,但是如果没有为 Cache1
缓存启用通知,该应用程序将失败。 您可以决定删除并重新创建具有所需设置的缓存。
Remove-Cache Cache1
上面的示例删除 Cache1
。 删除缓存之后,您必须等待几分钟才能重新创建它。 如果您尝试立刻重新创建缓存,则您会得到正在删除缓存的消息。 此延迟之后,您便可以重新创建缓存,指定启用通知。
New-Cache Cache1 -NotificationsEnabled True
使用该方法时,您应该使用 Get-CacheConfig
命令仔细查看配置设置。 除了您要更改的设置之外,您还必须为重新创建的缓存指定任何非默认设置。
也可以使用 Set-CacheConfig
命令。 该命令的优点是它保留其他设置,只更改您指定的设置。 该命令要求您停止缓存群集。
Stop-CacheCluster
Set-CacheConfig Cache1 -NotificationsEnabled True
Start-CacheCluster
对于这两种方法,都将删除缓存中的所有数据并且在短时间内缓存不可用。 因此,最好在维护窗口期间进行这些更改。 如果可能,应该将应用程序设计为在缓存关闭的短时间内仍然运行。 还要注意,对于诸如 NotificationsEnabled
之类的一些更改,客户端应用程序不会自动反映配置更改。 这些应用程序必须创建一个新的 DataCacheFactory 并且在缓存上调用 GetCache 来反映对缓存配置的更改。 执行此操作的一个简单方法是重新启动客户端应用程序。
另请参阅
概念
常规缓存群集管理任务(Windows Server AppFabric 缓存)
2011-12-05