繁体   English   中英

ASP.NET MVC中没有更改的智能缓存页面

[英]Smart Caching pages with no change in ASP.NET MVC

我正在考虑为asp.net mvc页面实现缓存机制,从而为您提供最新版本的网页,但是如果该页面自上次缓存以来没有更改,它将返回缓存的结果。

顺便说一下,我想知道OutputCacheAttribute缓存的限制是什么-可以使用许多位置-客户端,服务器端,下行流​​,任何(默认)等等。 我想知道哪个是最快的选择,因为我不知道客户端的限制是什么-如果它可以存储所有缓存的数据,我认为它肯定是最佳的缓存位置。 那么什么数据可以存储在每个位置?

我想到的一个好主意是将某个地址的上次查看页面版本保存为cookie中的哈希,因此,当用户请求页面时,如果哈希值没有变化,我可能会给他缓存的结果。 但是,如果我计算当前的页面哈希值,可能会节省流量,但仍然会浪费服务器处理请求的时间,因此我仍然不确定实现它的最佳方法是什么以及如何产生最佳结果。

尽可能精巧地执行此操作的见解和想法都很棒。

您的想法听起来很像http ETag标头和304未修改的响应-http: //en.wikipedia.org/wiki/HTTP_ETag#Typical_usage 基本上,您不需要自定义Cookie,因为协议已支持此功能。

至于返回对服务器影响很小的缓存版本,请使用您已经提到的Output Cache属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM