Data Caching

Data caching is (surprise!) the caching of data from a data source. As long as the cache is not expired, a request for data will be fulfilled from the cache rather than the original data source. If the cache is expired for whatever reason, fresh data will be obtained by the data source and the cache will be refreshed. The cache can expire for many reasons, as you will see. These can include timeouts, changed data, or changes to other objects.

There are two kinds of data caching; both are very useful:

  • DataSourceControl caching

  • SQL cache dependency

DataSourceControl Caching

As we showed in Chapters Chapter 7 through Chapter 10, DataSource controls represent data in a data source, such as a database or an XML file. Of those that derive from the abstract DataSourceControl class (see Figure 7-1 in Chapter 7), the ObjectDataSource, the SqlDataSource, and its derived types have a number of read/write properties for implementing caching, as listed in Table 17-1.

Table 17-1. Data source control properties for caching

Property

Type

Description

   

CacheDuration

Integer

Length of time, in seconds, that data is cached before the cache is invalidated. Default value is Infinite.

   

CacheExpirationPolicy

DataSourceCacheExpiry

Default is Absolute. The other possible value is Sliding, in which case the countdown to cache expiration is reset every time the cache is accessed.

   

CacheKeyDependency

String

Creates a dependency between cache entries and a key. When the key expires, so does the cache.

   

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.