Represents a file storage area that stores duplicates of the document content most frequently requested, and permits those duplicates to be accessed in lieu of the originals in order to enhance the document retrieval performance of local servers. For example, a content cache area can be shared by several servers on a LAN to minimize the number of times they need to access a main storage area on the WAN. For information on configuring a content cache for a server or group of servers, see the IContentCacheConfiguration interface.

Document content consists of the content elements associated with documents (as specified by the ContentElements property on the Document object). The cache receives new content in the following circumstances:

  • Cache miss: When the cache receives a request for a file not currently residing in the cache, the cache receives a duplicate of that file as part of the document retrieval process.
  • Content preloading: When content preloading has been enabled (via the PreloadOnCreate property), the cache receives duplicates of any new content added to the main storage area.

In both circumstances, new content can be added to the cache only when its storage capacity (as defined by the MaximumContentElements and MaximumSizeKBytes properties) exceeds the current amount of content (as indicated by the ContentElementCount and ContentElementKBytes properties). Cache content, however, can end up slightly exceeding the designated storage capacity, as statistics are managed on a delayed basis, and multiple servers can be adding content.

Cache pruning is the process of deleting the content least frequently requested from the cache. Pruning deletes three main categories of files: abandoned, expired, and old. An abandoned file is an incomplete file that has been not properly added to the cache as a result of a server failure of some sort (such as a power failure). An expired file is a file that has remained in an unaccessed state longer than the maximum-time-to-live (as specified by the MaximumTimeToLive property). An old file is a file that, compared to other files in the same directory, has been accessed less recently. Note that these categories are not mutually exclusive; an abandoned file might also be an expired file, and an expired file an old file.

Pruning considers the most recent access time for a file equivalent to its time-of-last-use. This time gets updated to the current time when the file first gets added to the cache, and also whenever the file gets retrieved, provided more than 10 minutes have elapsed since the previous time-of-last-use update. Consequently, the accuracy of the time-of-last-use for a file is within 10 minutes.

Prune actions--specific instances of pruning--operate on the cache directory by directory. For a general discussion on the advantages of this approach, see the DirectoryStructure property. For a detailed discussion on prune action behavior, see the PruneAmount property.

Prune actions get triggered in three different ways:

  • Mandatory Prune: Ensures that cache content remains under prune threshold levels. For more information, see the PruneThresholdContentElements property.
  • Periodic Prune: Ensures that expired files get deleted on a timely basis. For more information, see the MaximumTimeToLive property.
  • Sweeping: Ensures that the statistics concerning content element count (the ContentElementCount property) and content element size (the ContentElementKBytes property) remain reasonably accurate. A prune action occurs as part of this statistical update. For more information on the sweep action, see the ContentElementCount property.

Cache sweeping does not update the count of content element creations (the ContentElementsCreated property) or the count of content element deletions (the ContentElementsDeleted property). These statistics can become inaccurate over time, but can be optionally reset by clearing the cache. For more information on cache clearing, see the CacheStatus property.


Namespace: FileNet.Api.Admin
Assembly: FileNet.Api (in filenet.api.dll)

Syntax

Visual Basic (Declaration)
Public Interface IContentCacheArea
    Implements IIndependentlyPersistableObject, IIndependentObject, IEngineObject, ICloneable
C#
public interface IContentCacheArea : IIndependentlyPersistableObject, IIndependentObject, IEngineObject, ICloneable
C++
interface class IContentCacheArea : IIndependentlyPersistableObject, IIndependentObject, IEngineObject, ICloneable
J#
public interface IContentCacheArea implements IIndependentlyPersistableObject, IIndependentObject, IEngineObject, ICloneable
JScript
public interface IContentCacheArea extends IIndependentlyPersistableObject, IIndependentObject, IEngineObject, ICloneable

Remarks

Metadata

Auditable: false
AllowsInstances: true
AllowsSubClasses: false
ClassDefinitionName: None
IsDependent: false
IsHidden: false
Searchable: false
StorageType: Domain
SuperclassName: GenericObject

See Also