(1)我想知道如果我在我的AppFabric缓存中使用区域,这些区域是否可能存在于本地缓存中?还是说地域只存在于集群上?
(2)作为一个单独的问题,我如何判断我的数据是来自集群还是来自本地缓存?有没有什么AppFabric工具可以用来分析数据的来源?
我在代码中使用配置来设置本地缓存属性,以便将项目放到本地缓存中,如下所示
localCacheConfig = new DataCacheLocalCacheProperties(10000, localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased);
// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration();
factoryConfig.Servers = servers;
factoryConfig.LocalCacheProperties = localCacheConfig;
//code to put items in cache....etc我是否需要对“get”做一些特殊的操作,或者它是否足够智能地从本地缓存中获取它(如果它存在的话)?
发布于 2012-12-19 16:01:02
地域是AppFabric中的一个逻辑概念。它将允许您按标签查询项目,但项目将仅存储在一个主机中(有限的分发和高可用性)。
本地缓存未绑定到地域。这只是您对缓存集群的最新调用的本地副本。在客户端启用了本地缓存,这意味着如果您愿意,可以避免本地缓存。
本地缓存中对象的生命周期取决于几个因素,例如本地缓存中对象的最大数量和无效策略(超时或通知)。
您无法知道数据是来自本地缓存还是来自分布式缓存。这就是为什么建议将本地缓存用于参考数据。
发布于 2013-08-14 20:20:54
1.本地缓存中不存在区域,区域仅特定于缓存集群。
2.您可以通过在Appfabric powershell控制台中执行以下命令来获取特定命名缓存的统计信息。
get-cachestatistics <CacheName>它为您提供了一个具有ReadRequestCount,的结果集,如果一个请求进入本地缓存,则此计数不会为特定请求增加。
通过这种方式,您可以检查本地缓存的工作情况。
发布于 2012-12-05 21:13:32
区域不能存在于本地缓存中,它们只存在于集群上的缓存中。
因为本地缓存是可选的,所以客户端代码应该完全不知道缓存的项是来自集群还是来自本地缓存。为了实现这一点,当请求的项在本地缓存中时,它将从本地缓存返回(避免对集群的跨服务器调用)。
https://stackoverflow.com/questions/13716565
复制相似问题