gpt4 book ai didi

nhibernate - AppFabric 缓存本地缓存对我们不起作用......我们做错了什么?

转载 作者:行者123 更新时间:2023-12-03 11:14:53 25 4
gpt4 key购买 nike

我们使用 appfabric 作为 NHibernate asp.net 应用程序的二级缓存,该应用程序包括面向客户的网站和管理网站。它们都连接到同一个缓存,因此当管理员更新某些内容时,面向客户的站点也会更新。

它似乎工作正常 - 我们在单独的服务器上有一个 CacheCLuster,一切都很好,但我们希望启用 localcache 以获得更好的性能,但是,它似乎没有工作。

我们像这样启用了它......

  bool UseLocalCache = 
int LocalCacheObjectCount = int.MaxValue;
TimeSpan LocalCacheDefaultTimeout = TimeSpan.FromMinutes(3);
DataCacheLocalCacheInvalidationPolicy LocalCacheInvalidationPolicy = DataCacheLocalCacheInvalidationPolicy.TimeoutBased;

if (UseLocalCache)
{
configuration.LocalCacheProperties =
new DataCacheLocalCacheProperties(
LocalCacheObjectCount,
LocalCacheDefaultTimeout,
LocalCacheInvalidationPolicy
);

// configuration.NotificationProperties = new DataCacheNotificationProperties(500, TimeSpan.FromSeconds(300));
}

最初我们尝试使用超时失效策略(3 分钟),我们的应用程序感觉它运行得更快。然而,我们注意到,如果我们更改了管理站点中的某些内容,它会立即在实时站点中更新。由于我们使用的是超时而不是通知,这表明本地缓存没有被查询(或者是,但总是丢失)。

cache.GetType().Name 返回“LocalCache”——所以工厂已经制作了一个本地缓存。

在我的开发环境(从 vs2008 本地运行的 asp.net 应用程序,在单独的 w2k8 机器上运行的缓存集群)在 PS 中运行“Get-Cache-Statistics MyCache”显示一些请求计数。但是,在生产环境中,请求计数会急剧增加。

我们尝试按照这里的方法来设置缓存cliebt-server 流量... http://blogs.msdn.com/b/appfabriccat/archive/2010/09/20/appfabric-cache-peeking-into-client-amp-server-wcf-communication.aspx但是日志文件中只有初始标题 - 即也没有登录。

我在 SO 或 Google 中找不到任何内容。

我们做错了什么吗?我们是否安装了 AppFabric - 我们是通过 WebPlatform Installer 安装的 - 我想?
(注意:运行 ASp.net 的 IIS 框不在 yhe 集群中——它只是客户端)。

任何见解都非常受欢迎!

最佳答案

其中DataCache您使用的方法从缓存中读取?几本DataCache无论本地缓存是否被配置,方法总是会对服务器产生影响。您几乎必须确保只使用 Get如果您希望利用本地缓存。

这是我对 AppFabric 缓存的最大亮点之一。他们不会向您解释任何这些,因此当您开始依赖本地缓存时,您开始陷入这些小陷阱,因为您认为与服务交谈,通过网络传输数据不会受到惩罚和反序列化对象,但你是。

最糟糕的是,我可以理解必须与服务交谈以确保本地缓存代表最新数据。我什至可以理解将数据传回以便不进行多次调用。我一生无法理解的是,即使本地缓存中的实例被验证仍然是从缓存返回的当前版本,它们 仍然从线路反序列化对象,而不是仅仅返回已经在内存中的实例。如果您的对象很大/很复杂,这可能会造成很大伤害。

关于nhibernate - AppFabric 缓存本地缓存对我们不起作用......我们做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com