Class CacheEvictionPolicy
Contains the different cache evicion policies that can be assigned for an item in IObjectInstanceCache.
Inheritance
Namespace: EPiServer.Framework.Cache
Assembly: EPiServer.Framework.dll
Version: 12.0.3Syntax
public class CacheEvictionPolicy : Object
Remarks
Once an instance of CacheEvictionPolicy has been created, the instance is immutable. This is done to allow for re-using the same CacheEvictionPolicy instance multiple times when you have identical cache policy requirements for multiple cache insertions.
Constructors
CacheEvictionPolicy(IEnumerable<String>)
Initializes a new instance of the CacheEvictionPolicy class.
Declaration
public CacheEvictionPolicy(IEnumerable<string> cacheKeys)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.String> | cacheKeys | The dependencies to other cached items, idetified by their keys. |
CacheEvictionPolicy(IEnumerable<String>, IEnumerable<String>)
Initializes a new instance of the CacheEvictionPolicy class.
Declaration
public CacheEvictionPolicy(IEnumerable<string> cacheKeys, IEnumerable<string> masterKeys)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.String> | cacheKeys | The dependencies to other cached items, idetified by their keys. |
System.Collections.Generic.IEnumerable<System.String> | masterKeys | The master keys that we depend upon. |
CacheEvictionPolicy(TimeSpan, CacheTimeoutType)
Initializes a new instance of the CacheEvictionPolicy class.
Declaration
public CacheEvictionPolicy(TimeSpan expiration, CacheTimeoutType timeoutType)
Parameters
Type | Name | Description |
---|---|---|
System.TimeSpan | expiration | The expiration time span. |
CacheTimeoutType | timeoutType | Type of cache timeout. |
CacheEvictionPolicy(TimeSpan, CacheTimeoutType, IEnumerable<String>)
Initializes a new instance of the CacheEvictionPolicy class.
Declaration
public CacheEvictionPolicy(TimeSpan expiration, CacheTimeoutType timeoutType, IEnumerable<string> cacheKeys)
Parameters
Type | Name | Description |
---|---|---|
System.TimeSpan | expiration | The expiration time span. |
CacheTimeoutType | timeoutType | Type of cache timeout. |
System.Collections.Generic.IEnumerable<System.String> | cacheKeys | The dependencies to other cached items, idetified by their keys. |
CacheEvictionPolicy(TimeSpan, CacheTimeoutType, IEnumerable<String>, IEnumerable<String>)
Initializes a new instance of the CacheEvictionPolicy class.
Declaration
public CacheEvictionPolicy(TimeSpan expiration, CacheTimeoutType timeoutType, IEnumerable<string> cacheKeys, IEnumerable<string> masterKeys)
Parameters
Type | Name | Description |
---|---|---|
System.TimeSpan | expiration | The expiration time span. |
CacheTimeoutType | timeoutType | Type of cache timeout. |
System.Collections.Generic.IEnumerable<System.String> | cacheKeys | The dependencies to other cached items, idetified by their keys. |
System.Collections.Generic.IEnumerable<System.String> | masterKeys | The master keys that we depend upon. |
Fields
Empty
The empty CacheEvictionPolicy.
Declaration
public static readonly CacheEvictionPolicy Empty
Field Value
Type | Description |
---|---|
CacheEvictionPolicy |
Remarks
No special expiration policies have been defined.
Properties
CacheKeys
Gets the cache dependency keys.
Declaration
public string[] CacheKeys { get; }
Property Value
Type | Description |
---|---|
System.String[] | The cache keys. |
Remarks
If a dependent cache item with one of the specified cachekeys does not exist in cache then the inserted item will be evicted from cache immediately.
Expiration
Gets the expiration time span.
Declaration
public TimeSpan Expiration { get; }
Property Value
Type | Description |
---|---|
System.TimeSpan | The expiration. |
Remarks
If TimeoutType is set to Absolute, this is how long the item will remain in the cache before it is considered invalid. If TimeoutType is set to Sliding, then this is how long the item will be considered valid after the latest access. If TimeoutType is set to Undefined, this value is ignored.
MasterKeys
Gets the master keys.
Declaration
public string[] MasterKeys { get; }
Property Value
Type | Description |
---|---|
System.String[] | The master keys. |
Remarks
Master keys are used as markers to set up common dependencies without having to create the cache entries first. If you set up a master key dependency, there is no need for the corresponding entry to exist before adding something that depends on the master key.
The concept of master keys could be regarded as similar to the cache region concept, but using master keys allows you to have more than one, where cache regions is restricted to one per cached item - you can only place the item in one region.
TimeoutType
Gets the type of cache timeout.
Declaration
public CacheTimeoutType TimeoutType { get; }
Property Value
Type | Description |
---|---|
CacheTimeoutType | The type of the timeout. |
Remarks
See Expiration for more information.