我们有一个相当标准的电子商务场景,其中包含类别内的产品分页列表。无论好坏,大约 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。