【发布时间】:2011-07-29 20:38:27
【问题描述】:
我有一个 asp.net 网站,每天有 10-25k 的访问者(假期前的高峰期超过 60k)。页面/访问量也很高,因为它是一个内容网站。 我有一些特定的页面产生了大约 60% 的流量。这些页面有点复杂,而且数据库很重(sql server 2008 r2 后端)。 我想知道是否值得“缓存”这些页面的静态版本(我听说这是可能的)并且仅在发生变化时重新渲染它们(大约每 48 小时一次)。 这听起来是个好主意吗?哪里是实现这一点的最佳地点? (asp.net, iis, db)
更新: 对我来说,一个不错的选择是带有 SqlDependency 的 outputcache。我看到了有关使缓存失效的某种 SQL 服务器通知的引用,但我只看到有关 SQL Server 2005 的讨论。Microsoft 是否已弃用此选项?有什么新方法可以解决这个问题吗?
【问题讨论】:
-
这个页面是否有任何部分是动态的或它们都是静态数据?例如,有用户名的任何部分,或者有多少用户在线?
-
@Aristos - 不。我们没有会员制度。我们只在一个特定的物理 aspx 文件上使用成员资格,该文件访问量不大,它是我们自己的实现。
-
@Jackson Pope - 感谢您的编辑 :)
-
那就去用asp.net自带的最简单的缓存方式,delcare
-
@Aristos - 如果我不希望“转储”基于时间?还有其他选择吗?就像通过更改数据库或程序触发器一样?这实际上会在内存中保留 aspx 的静态版本(在 HTML 中)吗?没有数据库调用等?