Windows Server AppFabric 缓存逻辑体系结构示意图

Windows Server AppFabric 中缓存群集的逻辑体系结构由命名缓存、区域和缓存对象组成。在下图中,命名缓存跨群集中的所有缓存主机,但区域仅限于群集中的一个缓存主机。

“Velocity”逻辑模型

命名缓存

命名缓存也称为缓存,是一个可配置的内存中存储单元,所有应用程序都使用该单元将数据存储在分布式缓存中。您可以为每个应用程序配置一个或多个命名缓存。每个缓存可以独立于其他缓存进行配置,从而允许您为应用程序优化每个缓存的策略。

从上图中可以看出,每个缓存都跨群集中的所有缓存主机。首次设置 AppFabric 缓存功能时,会使用名称“默认”对缓存进行预先配置。可以将数据存储在此默认缓存中,也可以创建和使用命名缓存。

所有缓存都在群集配置中定义。可以使用 Windows PowerShell 管理工具创建或重新配置缓存。首次创建缓存时可能只能配置某些设置。可以稍后更改其他设置,但可能需要重新启动整个缓存群集才能使更改生效。有关 Windows PowerShell cmdlet 的详细信息,请参阅使用 Windows PowerShell 管理 Windows Server AppFabric 缓存功能

备注

命名缓存的数量限制为 128 个。

Important要点
重新启动缓存群集会导致刷新群集中所有命名缓存中的所有数据,但暂留命名缓存本身。

区域

区域是可以放置在缓存中的附加数据容器。区域是一种缓存结构:它们不在群集配置设置中定义。区域是可选的;如果您想使用它们,必须借助应用程序代码通过使用 CreateRegion 方法在运行时明确创建它们。有关详细信息,请参阅基本缓存方法(Windows Server AppFabric 缓存)

借助区域,您可以采用其他方式检索缓存对象,而不是使用与它们一起缓存的特定密钥值。区域允许您使用描述性字符串(称为标记)来搜索区域中的所有缓存对象。可以将一个或多个标记与缓存中存储的每个对象相关联。有关详细信息,请参阅基于标记的方法(Windows Server AppFabric 缓存)

若要提供此增加的搜索功能,需要将区域中的对象限制于一个缓存主机。这样就导致使用该数据的应用程序无法实现分布式缓存的可伸缩优势。相比之下,如果您不指定区域,则可以在缓存群集中的所有缓存主机之间对缓存对象进行负载平衡。

区域提供搜索功能,但却将缓存对象限制于一个缓存主机,因此使用区域需要权衡功能和可伸缩性。

缓存对象

从缓存群集检索的对象采用其 System.Object 基类的形式,因此需要进行类型转换以将它们还原为其原始类型。当某个对象处于缓存中时,缓存群集会将附加信息与该对象关联。这些信息包括密钥、标记、版本号以及存储对象的缓存和区域。对于基本的缓存操作,没有必要将此附加信息返回给支持缓存的应用程序。对于基于标记的操作或并发操作,可能必须检索与对象关联的 TagsVersion

提供了 GetCacheItem 方法,用于检索与缓存对象关联的所有信息并采用 DataCacheItem 对象的形式将该信息打包。有关可用的 API 的详细信息,请参阅缓存客户端 API 概述(Windows Server AppFabric 缓存)

另请参阅

概念

缓存客户端和本地缓存(Windows Server AppFabric 缓存)
Windows Server AppFabric 缓存物理体系结构示意图
TCP/IP 通信(Windows Server AppFabric 缓存)
编程模型(Windows Server AppFabric 缓存)
配置型号(Windows Server AppFabric 缓存)

  2011-12-05