Custom Caching Overview in SharePoint Server 2010 (ECM)
Published: May 2010
You can use Microsoft SharePoint Server 2010 caching options to optimize the performance of your sites. SharePoint Server 2010 uses ASP.NET caching options and caching functionality that the Office team designed specifically for SharePoint Server 2010.
The caching topics describe caching technologies available in SharePoint Server 2010 and how and when to configure caching options to maximize performance and reduce latency. You can:
Customize caching at the page level by using output caching.
Customize caching options for individual objects, such as Web Parts, navigation actions, and site map provision, by using object caching.
Table 1 shows the types of caching available in SharePoint Server 2010 and what they do.
Use this type of caching…
Individual page level
Includes extending caching by using VaryByCustomString.
Individual Web Part control, field control, and content level
Includes cross-list query caching and navigation caching.
Individual binary large object (BLOB) level; caches images, sound, video, and code
Supports .gif, .jpg, .js, .css, and other image, sound, and code files that are stored as binary large objects.
You can vastly improve the performance of your SharePoint Server 2010 deployment by:
Building cache-aware controls.
Extending caching in ways appropriate for your site deployment.
Building navigation providers that always use the object cache.
Creating content queries that use the Content By Query cache.
Creating server controls for your master page and page layouts that minimize database roundtrip.
Developers should note that SharePoint Server 2010 supplies dedicated caches for navigation nodes and content returned from potentially expensive retrieval operations, such as standard Microsoft SharePoint Foundation queries run by using an SPQuery object and cross-site queries run by using an SPSiteDataQuery object.
Although SharePoint Server 2010 does not enable you to use ASP.NET output caching directives in the same way that you can in a standard ASP.NET page, it provides a more robust framework to achieve similar results.