- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道当前在 Azure AppFabric SDK 中提供的输出缓存提供程序是否支持 (1) 中描述的内容:
Normally when a get request fails the client is responsible for loading the missing data from slow storage (e.g. a database, file server, or remote service) and populating the cache. This triples the number of round-trips needed for the request and introduces the possibility for a race condition. With Read-Through support turned on AppFabric itself makes the secondary call to slow storage. AppFabric gains this ability via a custom implementation of the abstract class DataCacheStoreProvider.
(3) 的“下一步”部分似乎表明事实并非如此:
In addition, the success of the Caching session state provider scenarios with ASP.NET has resulted in requests for the ability to associate write-behind and read-through queries with the cache so that the cache can become the primary way to manipulate data, while letting the associated queries update the data tier in the back end.
We’ll be evaluating these and other features for possible inclusion in future releases of Windows Azure AppFabric Caching. In the meantime, we encourage you to experiment with the current Caching service implementation and let us know how it works for you.
是否有任何其他机制可以以编程方式 a) 失效和 b) 替换缓存页面,而不让它通过客户端请求自然地重新水化(这可能会导致负载下的问题,因为所有请求都竞相重新水化元素) ?
与 Windows Server 的其他记录差异 (4):
ASP.NET Caching
Windows Azure AppFabric provides both a session state provider and an output cache provider. This provider differs from the one that shipped with the first release of Windows Server AppFabric. It also provides additional features. Because of this, it is important to carefully follow the instructions for modifying the web.config file correctly for Windows Azure AppFabric. For more information, see Using the ASP.NET 4 Caching Providers for AppFabric.
Unavailable Caching Features
Windows Azure AppFabric supports a subset of the caching features available in Windows Server AppFabric. The following list describes some of these differences.
Notifications
Notifications are not supported in Windows Azure AppFabric Caching. This also means that you cannot use notifications to invalidate the local cache. In Windows Azure AppFabric, local cache can use only a timeout based invalidation policy. For more information about the notifications feature in Windows Server AppFabric, see Cache Notifications (Windows Server AppFabric Caching).
Expiration and Eviction
By default, items in a Windows Azure AppFabric cache do not expire. This means that when you exceed your maximum cache size, the least recently used items in the cache are evicted. Unlike Windows Server AppFabric, there is no way to change this default expiration setting or value. However, if you add items to the cache with an explicit expiration time, such as 10 minutes, then the cache will honor this expiration value. This can be done with various overloads of the Add and Put methods. Note that the ASP.NET providers automatically use these overloads to provide explicit timeouts for session state and output caching.
Windows Azure AppFabric Caching does not support disabling eviction on a cache. Under memory pressure, it is always possible that items could be evicted. Applications should be designed to anticipate that items might be missing and require reloading at any time. If a cache is too small for the application requirements, it can be dynamically increased from the Windows Azure Platform Management Portal.
For more information on expiration and eviction in Windows Server AppFabric, see Expiration and Eviction (Windows Server AppFabric Caching).
High Availability
Windows Azure AppFabric Caching does not support the high availability feature. For more information about high availability in Windows Server AppFabric, see High Availability (Windows Server AppFabric Caching).
Regions and Tags
Windows Azure AppFabric Caching does not support user-created regions or tag-based searches.
API Support
In most cases, you can use the same APIs to write cache clients that use Windows Azure AppFabric or Windows Server AppFabric. There are some exceptions due to differences between the two solutions. For a detailed review of the APIs available for Windows Azure AppFabric cache clients, seeAPI Reference (Windows Azure AppFabric Caching).
引用文献:
(1) Windows Server AppFabric 添加了 Read-Through 和 Write-Behind 支持: http://www.infoq.com/news/2011/08/AppFabric-CTP
(2) ASP.NET 4 的可扩展输出缓存(VS 2010 和 .NET 4.0 系列): http://weblogs.asp.net/scottgu/archive/2010/01/27/extensible-output-caching-with-asp-net-4-vs-2010-and-net-4-0-series.aspx
(3) Windows Azure AppFabric 缓存服务简介:
http://msdn.microsoft.com/en-us/magazine/gg983488.aspx
(4) 本地缓存和云端缓存的区别:
http://msdn.microsoft.com/en-us/library/gg185678.aspx
最佳答案
正如您引用的文档所示,无法使用 Windows Azure 共享缓存服务(以前称为 Windows Azure AppFabric 缓存)使本地缓存失效。这是因为该服务不支持通知。如果您没有在该服务中使用本地缓存选项,那么您可以通过显式删除缓存项来使其失效。这会将其从服务中的分布式缓存中删除,然后所有请求它的实例将一无所获。
至于替换缓存页面,我相信你可以通过直接更新缓存来实现;然而,考虑到从缓存中删除某些内容时涉及的因素很多,您可能无法 100% 保证页面最终不会因压力而掉落,并且无论如何都会发生竞争。
如果您想要对缓存有更多控制,我强烈建议您查看新的 Windows Azure 专用缓存预览版。它仍处于预览阶段,因此您可能不想在生产工作中冒险,但它将使您对缓存有更多的控制。
关于.net - Azure AppFabric 输出缓存是否支持读取或编程失效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340259/
我正在使用AppFabric在我的网站上进行缓存。我们最近在缓存集群中添加了更多主机,由于在[中]将来可能会添加更多主机,因此我们决定将集群重新配置为大型集群,而不是小型集群。现在,我们看到了一些令人
我刚刚测试了将某些内容放入 AppFabric 缓存中,现在我正在努力了解如何简单地查看缓存中的项目。令人惊讶的是,谷歌没有帮助。在 PowerShell 中,我可以使用 get-cache 轻松查看
有没有办法在系统启动时自动启动缓存集群?我在远程 PC 上运行它,当它重新启动时,我必须远程进入它并使用 Start-CacheCluster 从 Powershell 重新启动缓存集群,并且不想这样
我正在尝试开发一种工具(在 Visual Studio 2010 中,C#),它可以读取 Appfabric 缓存中存在的所有项目并将它们存储在表中。我不必使用 powershell。 首先我想到,如
除了设置Secondaries=1还有什么吗?在集群配置中启用HighAvailability,具体是在缓存客户端配置上? 我们的配置: Cache Cluster (3 个 Windows 企业主机
我已经设置了一个 appfabric(v1.1) 缓存服务器。该服务在服务帐户下运行,集群配置存储在 SQL Server 中。服务账号对sql server有权限,可以配置成功。 管理控制台在使用服
我正在尝试在我测试的 Windows Server 2008 企业版上使用 Web 平台安装程序安装 Windows Server AppFabric。尽管我在服务器上安装了 SQL Server(开
通过 Google,我在 stackoverflow 上发现了另一个关于 Azure AppFabric 和 Windows Server AppFabric 之间的差异和相似之处的问题。有人提到,A
我使用 Windows 平台安装程序来安装 AppFabric,它说需要 SQL Express?我不能使用 SQL Server R2 吗?我真的不想安装 SQL Express。 最佳答案 不,您
我使用 Windows 平台安装程序来安装 AppFabric,它说需要 SQL Express?我不能使用 SQL Server R2 吗?我真的不想安装 SQL Express。 最佳答案 不,您
似乎有两种名称相似的产品,但这不是我所期望的。我以为 Azure AppFabric 是 Windows Server AppFabric 的“云”版本,但它们之间似乎没有太多共同点。 我是否错过了大
我是 AppFabric 的新手,我正在为生产环境评估分布式缓存解决方案,我在 Microsoft 商店中使用 Asp.net MVC 和 WebApi,但我们没有使用 Windows Azure。
我是 AppFabric 的新手,我正在为生产环境评估分布式缓存解决方案,我在 Microsoft 商店中使用 Asp.net MVC 和 WebApi,但我们没有使用 Windows Azure。
在对我们全新的主系统进行压力测试原型(prototype)时,我遇到了 AppFabric 缓存的并发问题。当同时使用相同的 cacheKey 调用多个 DataCache.Get() 和 Put()
我正在尝试组装一个简单的 AppFabric 主题,其中使用 SessionId 发送和接收消息。代码不会中止,但 brokeredMessage 始终为空。这是代码: // BTW, the top
我们有一个非常简单的 AppFabric 设置,其中有两个客户端——我们称它们为服务器 A 和服务器 B。服务器 A 也是主要缓存主机,并且服务器 A 和 B 都启用了本地缓存。我们希望能够对服务器
有关如何使用 AppFabric 的缓存功能的问题。 很抱歉问了一个我应该能够从文档中回答的问题,但我已经阅读、阅读和搜索,但无法回答这个问题,这让我相信我对 AppFabric 的缓存有根本性的理解
我们正在设计一个带有 Appfabric 缓存的系统。我们想知道安全性。 拥有缓存项的服务器如何知道对该项的请求来自缓存集群中的另一台服务器或授权服务器? 我们担心的是:任何有权访问 Appfabri
我们刚刚测试了一个由 2 个服务器组成的 AppFabric 集群,我们在其中删除了“领导”服务器。第二个服务器对它的任何请求超时并出现错误: Microsoft.ApplicationServer.
我们正在尝试使用 AppFabric 分布式缓存。在与非域服务器进行了多次反复交流后,我们最终将它们放入域中,安装/设置变得容易了一些。在与大量错误作斗争后,我们启动并运行了它,其中大部分似乎微不足道
我是一名优秀的程序员,十分优秀!