AppFabric localcache

时间:2012-02-11 12:41:05

标签: appfabric

我在我的一个项目中使用AppFabric缓存。我知道缓存只能在服务器上使用,或者也可以有本地版本(我假设这是通过实例化DataCacheLocalCacheProperties类并将其分配给DataCacheFactoryConfiguration的属性来完成的) - 如果我错了,请纠正我。我还假设如果在启用localcache时完成Get,则如果该对象在本地不可用,则将从缓存服务器检索该对象。

但是,Put的情况如何?当我启用了localcache时,我所做的Put将更新指定密钥的缓存服务器?如果是,那么该值将如何反映在localcache中?或者,它只是更新localcache?

提前致谢!

2 个答案:

答案 0 :(得分:1)

Joeseph,

是的,您可以使用本地缓存在客户端内存对象。本地缓存通常用于存储不会频繁更改的对象。这有助于延迟与高速缓存服务器往返相关的延迟成本。

现在回到你的问题: -

1-您也可以使用xml配置启动本地客户端缓存。 http://msdn.microsoft.com/en-us/library/ee790880.aspx

2-当您执行Get时,如果缓存项在本地缓存中不可用,则从缓存服务器获取它。

3- Put总是进入缓存服务器。

4- Local Cache具有“sync”属性,允许它通过a)'timeout'值与服务器缓存同步(这样一旦ttl到期,对象将根据服务器缓存进行更新)或者 b)缓存通知(以便每次在服务器上更新缓存时通知客户端) - 访问http://msdn.microsoft.com/en-us/library/ee808091.aspx以获取更多详细信息。

HTH。

欢呼声, //小时/

http://www.hammadrajjoub.net

答案 1 :(得分:0)

当应用程序更新主缓存服务器时,AppFabrics本地缓存可能会出现问题,如果更新的项目副本驻留在另一个应用程序的本地缓存中,则该副本基本上是陈旧的,需要逐出。我认为AppFabric要求客户端应用程序使其本地缓存与主缓存同步。这在大多数时候都不可行。 NCache是​​那些使“客户端”或本地缓存始终与主缓存保持同步的缓存产品之一。欲了解更多信息,请阅读:

http://www.alachisoft.com/ncache/