Class CatalogCache

Implements operations for the cache for the catalog system.

Inheritance
System.Object
CatalogCache
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Mediachase.Commerce.Catalog
Assembly: Mediachase.Commerce.dll
Version: 10.8.0
Syntax
public sealed class CatalogCache

Constructors

CatalogCache()

Declaration
public CatalogCache()

Methods

Clear()

Removes all items from the catalog cache depended on by all inserts.

Declaration
public static void Clear()

CreateCacheKey(CultureInfo, String[])

Creates the cache key.

Declaration
public static string CreateCacheKey(CultureInfo culture, params string[] keys)
Parameters
Type Name Description
System.Globalization.CultureInfo culture

The culture of the cached object.

System.String[] keys

The elements to include in the key.

Returns
Type Description
System.String

A cache key with the specified culture and the specified elements.

CreateCacheKey(String[])

Creates a non-language-specific cache key.

Declaration
public static string CreateCacheKey(params string[] keys)
Parameters
Type Name Description
System.String[] keys

The elements to include in the key.

Returns
Type Description
System.String

A cache key with the current culture and the specified elements.

CreateLocalizedCacheKey(String, String[])

Creates the cache key with a specific language

Declaration
public static string CreateLocalizedCacheKey(string language, params string[] keys)
Parameters
Type Name Description
System.String language

The language of the cached object.

System.String[] keys

The elements to include in the key.

Returns
Type Description
System.String

A cache key with the specified culture and the specified elements.

Get(String)

Retrieves a value from the cache by key.

Declaration
public static object Get(string key)
Parameters
Type Name Description
System.String key

The cache key.

Returns
Type Description
System.Object

The cached value for the key, or null if the key is not found.

Insert(String, Object, IEnumerable<String>, TimeSpan)

Inserts the value into the cache with the specified key, with dependency to a set of master keys.

Declaration
public static void Insert(string key, object value, IEnumerable<string> masterKeys, TimeSpan timeout)
Parameters
Type Name Description
System.String key

The key.

System.Object value

The value to cache.

System.Collections.Generic.IEnumerable<System.String> masterKeys

The master keys that we depend upon. These don't have to exist in the cache, they will be inserted if they don't exist.

System.TimeSpan timeout

The cache timeout.

Insert(String, Object, TimeSpan)

Inserts the value into the cache with the specified key, with dependency to a master key.

Declaration
public static void Insert(string key, object value, TimeSpan timeout)
Parameters
Type Name Description
System.String key

The key.

System.Object value

The value to cache.

System.TimeSpan timeout

The cache timeout.

Insert(String, Object, TimeSpan, CacheItemPriority)

Inserts the specified value into the cache with the specified key.

Declaration
[Obsolete("CacheItemPriority and CacheDependency might not be supported on all systems, use an overload without CacheItemPriority or CacheDependency. Will remain at least until March 2016.")]
public static void Insert(string key, object value, TimeSpan timeout, CacheItemPriority priority)
Parameters
Type Name Description
System.String key

The cache key.

System.Object value

The value.

System.TimeSpan timeout

The cache timeout.

System.Web.Caching.CacheItemPriority priority

The cache item priority.

Insert(String, Object, CacheDependency, TimeSpan)

Inserts the specified value into the cache with the specified key.

Declaration
[Obsolete("CacheItemPriority and CacheDependency might not be supported on all systems, use an overload without CacheItemPriority or CacheDependency. Will remain at least until March 2016.")]
public static void Insert(string key, object value, CacheDependency dep, TimeSpan timeout)
Parameters
Type Name Description
System.String key

The cache key.

System.Object value

The value.

System.Web.Caching.CacheDependency dep

The cache dependency.

System.TimeSpan timeout

The cache timeout.

Insert(String, Object, CacheDependency, TimeSpan, CacheItemPriority)

Inserts the specified value into the cache with the specified key.

Declaration
[Obsolete("CacheItemPriority and CacheDependency might not be supported on all systems, use an overload without CacheItemPriority or CacheDependency. Will remain at least until March 2016.")]
public static void Insert(string key, object value, CacheDependency dep, TimeSpan timeout, CacheItemPriority priority)
Parameters
Type Name Description
System.String key

The cache key.

System.Object value

The value.

System.Web.Caching.CacheDependency dep

The cache dependency.

System.TimeSpan timeout

The cache timeout.

System.Web.Caching.CacheItemPriority priority

The cache item priority.

ReadThrough<T>(String, IEnumerable<String>, TimeSpan, Func<T>)

Read-through cache handling.

Declaration
public static T ReadThrough<T>(string key, IEnumerable<string> masterKeys, TimeSpan timeout, Func<T> load)
    where T : class
Parameters
Type Name Description
System.String key

The key.

System.Collections.Generic.IEnumerable<System.String> masterKeys

The master keys that the cached item should depend on.

System.TimeSpan timeout

The cache timeout.

System.Func<T> load

The function to invoke for retrieving the value if it does not exist in the cache.

Returns
Type Description
T

The object associated with the key, if it exists or is read thru the readValue fuction. Otherwise returns null.

Type Parameters
Name Description
T

Type of the value to read.

Remove(String)

Removes the specified item from the cache.

Declaration
public static void Remove(string key)
Parameters
Type Name Description
System.String key

The key of the item to remove.

RemoveByPattern(String)

Removes all items from the catalog cache.

Declaration
[Obsolete("Removing by pattern is no longer supported, calling it will result in a Clear(). Will remain at least until March 2016.")]
public static void RemoveByPattern(string pattern)
Parameters
Type Name Description
System.String pattern

Ignored.