How Are Read Operations Performed on the Cache?

Applies to: SharePoint Server 2010

When an application uses cached mode and requests an entity instance from the cache, the cache checks the status of that instance which could be one of the following and takes the following action:

  • Fresh: If the instance is marked as Fresh, it means that the data was just received from the external application and the cache refresh interval has not passed. In this case, the cache will simply return the entity instance to the application.

  • Invalid: If the instance is marked as Invalid, it means that the data is not useful and the entity instance must be refreshed from the external application. The runtime calls the SpecificFinder and refreshes the cache and then returns the data from the cache to the client application.

  • Obsolete: If the instance is marked as Obsolete, it means that the sync process knows that the data has changed in the external application but has not gotten to refreshing the data yet.

  • Stale: If the instance is marked as Stale, it means that the entity instance is due to be refreshed from the external application, although the sync has no reason to assume that the data has changed in the external application. It usually just means that it has been too long since this entity instance has been refreshed. The entity instance itself could be stale where it is due for refresh but it has not been refreshed because we are busy doing other synchronization tasks. While doing the read, user could specify a freshness which might not be satisfied. An instance was read 30 minutes, but while reading the instance the user could specify a freshness of 10 minutes. If the instance's refresh time does not meet the freshness criteria, online read is performed. If the entity instance is stale but it does meet the freshness criteria, online read is not done.