我们有一个标准的电子商务场景,其中包含各类别产品的分页列表。大约80%的访问者永远不会浏览超过第一页,根据类别可能还有5-10页结果,但这些结果被查看的次数要少得多。(是的,我们确实优化了第一页上显示的内容,并且具备良好的搜索功能——但那是另一种讨论)
我们无法缓存每个页面的结果,因为我们受到内存限制,但仅缓存每个类别的第一页结果的好处将是巨大的。
我知道我可以使用对象缓存来存储相关数据集来做类似的事情,但使用输出缓存是否可行,例如使用response.Cache对象?
在页面生命周期中的哪个阶段可以完成此操作?预渲染?
简化后,URL类似于“/ProductList?Category=something&Page=1”,而且我希望有类似以下的逻辑(伪代码):
我们无法缓存每个页面的结果,因为我们受到内存限制,但仅缓存每个类别的第一页结果的好处将是巨大的。
我知道我可以使用对象缓存来存储相关数据集来做类似的事情,但使用输出缓存是否可行,例如使用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.
我们正在使用ASP.NET 2.0,在IIS 6/win2003上。