Asp.net 服务端缓存挑动的一点思考

Asp.net 服务端缓存引发的一点思考我们知道asp.net要经历以下事件BeginRequest AuthenticateRequest PostA

Asp.net 服务端缓存引发的一点思考

我们知道asp.net要经历以下事件

BeginRequest
AuthenticateRequest
PostAuthenticateRequest
AuthorizeRequest
PostAuthorizeRequest
ResolveRequestCache
PostResolveRequestCache
PostMapRequestHandler
AcquireRequestState
PostAcquireRequestState
PreRequestHandlerExecute
....IHttpHandler 类的 ProcessRequest 方法,真正处理请求的地方时一个比较耗时的处理
PostRequestHandlerExecute
eleaseRequestState
PostReleaseRequestState 事件。
UpdateRequestCache
PostUpdateRequestCache
EndRequest

  而在服务端我们缓存经常会用到OutputCache,之所以能用它只要是因为OutputCacheModule中有如下代码:

这种处理方式和OutputCache一样不用区分你的程序是否是mvc模式。在实际项目中我们可以用Memcached、Redis、AppFabric 来做分布式缓存。比如像凡客、京东某些页面就可以采用这种思想来实现,比你在页面或action任何地方读取缓存的效率要高出很多,当然效率高的代价就是它的适用范围比较窄,实际中往往不是缓存一个完整的整个页面内容,而只是缓存一部分。

欢迎大家拍砖