I was under the assumption that caching was built in to umbraco already. Could you elaborate on how it is different than built in caching? Is umbraco only caching on macro level and this package on page level?
Yes you are totally correct! If you switch to developer -> Cache Browser you are able to see what umbraco stores into the cache this is mainly internal stuff e.g. (as you mentioned) macros.
The OutputCaching package caches on page level which can save some round trips on the server.
If you think of the ASP.Net pipline there are several steps which take place for each and every request that hit the server:
BeginRequest
AuthenticateRequest
AuthorizeRequest
ResolveRequestCache (Caching hooks in here...)
AquireRequestState
PreRequestHandlerExecute
…Handler
Execution…
PostRequestHandlerExecute
ReleaseRequestState
UpdateRequestCache (...and here)
EndRequest
Whith this module installed when a request hits the server it will check (in step 4) if the request is cachable (defined in the settings) and checks if there is a version in the cache. If it finds one it sends the cached data back to the client before the heavy processing happens. If there is no cached version it will duplicate all the data send to the client and stores that into the cache (in step 10) when all the processing is done.
I hope i could make myself clear about this module :)
Compared to built in caching
I was under the assumption that caching was built in to umbraco already. Could you elaborate on how it is different than built in caching? Is umbraco only caching on macro level and this package on page level?
Hi!
Yes you are totally correct! If you switch to developer -> Cache Browser you are able to see what umbraco stores into the cache this is mainly internal stuff e.g. (as you mentioned) macros.
The OutputCaching package caches on page level which can save some round trips on the server.
If you think of the ASP.Net pipline there are several steps which take place for each and every request that hit the server:
BeginRequest
AuthenticateRequest
AuthorizeRequest
ResolveRequestCache (Caching hooks in here...)
AquireRequestState
PreRequestHandlerExecute
…Handler Execution…
PostRequestHandlerExecute
ReleaseRequestState
UpdateRequestCache (...and here)
EndRequest
Whith this module installed when a request hits the server it will check (in step 4) if the request is cachable (defined in the settings) and checks if there is a version in the cache. If it finds one it sends the cached data back to the client before the heavy processing happens. If there is no cached version it will duplicate all the data send to the client and stores that into the cache (in step 10) when all the processing is done.
I hope i could make myself clear about this module :)
Cheers,
Toby
is working on a reply...