Cache Manager - CacheManager.Core (original) (raw)

Namespace CacheManager.Core

Classes

BaseCacheManager

The BaseCacheManager implements ICacheManager and is the main class of this library. The cache manager delegates all cache operations to the list of BaseCacheHandle's which have been added. It will keep them in sync according to rules and depending on the configuration.

BondConfigurationBuilderExtensions

Extensions for the configuration builder for the

Microsoft.Bond

based ICacheSerializer.

CacheFactory

Helper class to instantiate new ICacheManager instances from configuration.

CacheHandleConfiguration

Defines all settings the cache handle should respect.

CacheItem

The item which will be stored in the cache holding the cache value and additional information needed by the cache handles and manager.

CacheManagerConfiguration

The basic cache manager configuration class.

ConfigurationBuilder

Helper class to load cache manager configurations from file or to build new configurations in a fluent way.

This only loads configurations. To build a cache manager instance, use CacheFactoryand pass in the configuration. Or use the Build methods of CacheFactory!

ConfigurationBuilderCacheHandlePart

Used to build a CacheHandleConfiguration.

ConfigurationBuilderCachePart

Used to build a CacheManagerConfiguration.

CouchbaseConfigurationBuilderExtensions

Extensions for the configuration builder specific to the Couchbase cache handle.

JsonConfigurationBuilderExtensions

Extensions for the configuration builder for the Newtonsoft.Json based ICacheSerializer.

MemcachedConfigurationBuilderExtensions

Extensions for the configuration builder specific to the Memcached cache handle.

MicrosoftLoggingBuilderExtensions

Extensions for the configuration builder for logging.

MicrosoftMemoryCachingBuilderExtensions

Extensions for the configuration builder specific to based caching.

ProtoBufConfigurationBuilderExtensions

Configuration builder extensions for the ProtoBuf based ICacheSerializer.

RedisConfigurationBuilderExtensions

Extensions for the configuration builder specific to the redis cache handle.

RuntimeCachingBuilderExtensions

Extensions for the configuration builder specific to System.Runtime.Caching cache handle.

WebConfigurationBuilderExtensions

Extensions for the configuration builder specific to System.Runtime.Caching cache handle.

Interfaces

ICache

This interface is the base contract for the main stack of this library.

The ICacheHandle and ICacheManager interfaces are derived from ICache, meaning the method call signature throughout the stack is very similar.

We want the flexibility of having a simple get/put/delete cache up to multiple caches layered on top of each other, still using the same simple and easy to understand interface.

The TCacheValue can, but most not be used in the sense of strongly typing. This means, you can define and configure a cache for certain object types within your domain. But you can also use object and store anything you want within the cache. All underlying cache technologies usually do not care about types of the cache items.

ICacheManager

This interface extends the ICache interface by some cache manager specific methods and events.

ICacheManagerConfiguration

The writable configuration contract used primarrily internal only

IReadOnlyCacheManagerConfiguration

The readonly configuration contract for cache managers.

Enums

CacheUpdateMode

Defines the possible update modes of the cache manager.

Update mode works on Get operations. If the cache manager finds the cache item in one of the cache handles, and other cache handles do not have that item, it might add the item to the other cache handles depending on the mode.

ExpirationMode

Defines the supported expiration modes for cache items.

Value None will indicate that no expiration should be set.