使用ASP.NET缓存实现视图计数

时间:2011-06-28 18:50:44

标签: asp.net-mvc-3 caching azure count pageviews

我需要对每个帖子的博客社区实施视图计数,所以我通过SO和Meta研究发现了很多相关的帖子,但是没有明确的答案。

所以在这里我计划使用asp.net cache api以编程方式缓存List并让缓存键为PostID。并且我将其持续10分钟,因此在10分钟内,现有IP的访问将被丢弃。并且,当缓存过期时,我计划使用CacheItemRemovedCallback处理程序在帖子视图计数上更新数据库。

此应用程序将在具有多个VM的Windows Azure上运行以处理负载。所以我想问一下谁有这方面的经验,这是否有效以及缓存过期回调的可靠性如何?

感谢。

1 个答案:

答案 0 :(得分:1)

修改 对不起,我错过了关于它只是在proc缓存中常规的部分。我认为这是最好的article I've seen on building scalable counters(来自Steve Marx) 对你的问题有一个相当简单的答案,基于Azure的缓存不支持回调。

它包含在缓存文档中,因为应用程序结构缓存的内部版本确实支持回调和其他一些功能。有关差异的完整列表,有article on MSDN