【发布时间】:2023-03-08 10:13:01
【问题描述】:
我们有一个相当标准的电子商务场景,其中包含分类中的产品分页列表。无论好坏,大约 80% 的访问者从未浏览过第一页,根据类别的不同,可能会有 5 到 10 多页的结果被查看的频率要低得多。 (是的,我们确实优化了第一页上显示的内容并进行了良好的搜索 - 但这是一个不同的讨论)
我们不能缓存每一页结果,因为我们受到内存的限制,但是只缓存每个类别的第一页结果的好处是巨大的。
我知道我可以使用对象缓存来存储有问题的数据集来做类似的事情,但这是否可以使用输出缓存,也许通过使用 response.Cache 对象?
这可以在页面生命周期的哪个位置完成?预渲染?
非常简化,URL 类似于“/ProductList?Category=something&Page=1” 我想要类似(伪代码)的逻辑:
If paramater "Page" equals 1
Use output caching: vary by param = "categoryName; page"
else
Don't use caching at all, just render the page from scratch.
我们在 IIS 6/win2003 上使用 ASP.NET 2.0。
【问题讨论】:
-
查看this 帖子上的最后一个答案。我希望这会有所帮助。
标签: asp.net iis-6 outputcache