• CacheManager
  • Documentation
  • Api Docs
  • MichaCo.net
    Show / Hide Table of Contents

    Class MemcachedCacheHandle<TCacheValue>

    Cache handle implementation based on the Enyim memcached client.

    Inheritance
    Object
    BaseCache<TCacheValue>
    BaseCacheHandle<TCacheValue>
    MemcachedCacheHandle<TCacheValue>
    Inherited Members
    BaseCacheHandle<TCacheValue>.Configuration
    BaseCacheHandle<TCacheValue>.Stats
    BaseCacheHandle<TCacheValue>.AddInternal(CacheItem<TCacheValue>)
    BaseCacheHandle<TCacheValue>.PutInternal(CacheItem<TCacheValue>)
    BaseCacheHandle<TCacheValue>.TriggerCacheSpecificRemove(String, String, CacheItemRemovedReason, Object)
    BaseCacheHandle<TCacheValue>.GetItemExpiration(CacheItem<TCacheValue>)
    BaseCache<TCacheValue>.Disposed
    BaseCache<TCacheValue>.Disposing
    BaseCache<TCacheValue>.Item[String]
    BaseCache<TCacheValue>.Item[String, String]
    BaseCache<TCacheValue>.Add(String, TCacheValue)
    BaseCache<TCacheValue>.Add(String, TCacheValue, String)
    BaseCache<TCacheValue>.Add(CacheItem<TCacheValue>)
    BaseCache<TCacheValue>.Dispose()
    BaseCache<TCacheValue>.Get(String)
    BaseCache<TCacheValue>.Get(String, String)
    BaseCache<TCacheValue>.Get<TOut>(String)
    BaseCache<TCacheValue>.Get<TOut>(String, String)
    BaseCache<TCacheValue>.GetCacheItem(String)
    BaseCache<TCacheValue>.GetCacheItem(String, String)
    BaseCache<TCacheValue>.Put(String, TCacheValue)
    BaseCache<TCacheValue>.Put(String, TCacheValue, String)
    BaseCache<TCacheValue>.Put(CacheItem<TCacheValue>)
    BaseCache<TCacheValue>.Remove(String)
    BaseCache<TCacheValue>.Remove(String, String)
    BaseCache<TCacheValue>.CheckDisposed()
    BaseCache<TCacheValue>.GetCasted<TOut>(Object)
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace:CacheManager.Memcached
    Assembly:CacheManager.Memcached.dll
    Syntax
    public class MemcachedCacheHandle<TCacheValue> : BaseCacheHandle<TCacheValue>, ICache<TCacheValue>, IDisposable
    Type Parameters
    Name Description
    TCacheValue

    The type of the cache value.

    Constructors

    | Improve this Doc View Source

    MemcachedCacheHandle(ICacheManagerConfiguration, CacheHandleConfiguration, ILoggerFactory, ICacheSerializer)

    Initializes a new instance of the MemcachedCacheHandle<TCacheValue> class.

    Declaration
    public MemcachedCacheHandle(ICacheManagerConfiguration managerConfiguration, CacheHandleConfiguration configuration, ILoggerFactory loggerFactory, ICacheSerializer serializer)
    Parameters
    Type Name Description
    ICacheManagerConfiguration managerConfiguration

    The manager configuration.

    CacheHandleConfiguration configuration

    The cache handle configuration.

    ILoggerFactory loggerFactory

    The logger factory.

    ICacheSerializer serializer

    The serializer.

    Exceptions
    Type Condition
    ArgumentNullException

    If configuration or loggerFactory is null.

    InvalidOperationException

    The cache value type is not serializable or if the enyim configuration section could not be initialized.

    | Improve this Doc View Source

    MemcachedCacheHandle(ICacheManagerConfiguration, CacheHandleConfiguration, ILoggerFactory, ICacheSerializer, MemcachedClientConfiguration)

    Initializes a new instance of the MemcachedCacheHandle<TCacheValue> class.

    Declaration
    public MemcachedCacheHandle(ICacheManagerConfiguration managerConfiguration, CacheHandleConfiguration configuration, ILoggerFactory loggerFactory, ICacheSerializer serializer, MemcachedClientConfiguration clientConfiguration)
    Parameters
    Type Name Description
    ICacheManagerConfiguration managerConfiguration

    The manager configuration.

    CacheHandleConfiguration configuration

    The cache handle configuration.

    ILoggerFactory loggerFactory

    The logger factory.

    ICacheSerializer serializer

    The serializer.

    Enyim.Caching.Configuration.MemcachedClientConfiguration clientConfiguration

    The Enyim.Caching.Configuration.MemcachedClientConfiguration to use to create the Enyim.Caching.MemcachedClient.

    | Improve this Doc View Source

    MemcachedCacheHandle(ICacheManagerConfiguration, CacheHandleConfiguration, ILoggerFactory, ICacheSerializer, MemcachedClient)

    Initializes a new instance of the MemcachedCacheHandle<TCacheValue> class.

    Declaration
    public MemcachedCacheHandle(ICacheManagerConfiguration managerConfiguration, CacheHandleConfiguration configuration, ILoggerFactory loggerFactory, ICacheSerializer serializer, MemcachedClient client)
    Parameters
    Type Name Description
    ICacheManagerConfiguration managerConfiguration

    The manager configuration.

    CacheHandleConfiguration configuration

    The cache handle configuration.

    ILoggerFactory loggerFactory

    The logger factory.

    ICacheSerializer serializer

    The serializer.

    Enyim.Caching.MemcachedClient client

    The Enyim.Caching.MemcachedClient to use.

    Properties

    | Improve this Doc View Source

    Cache

    Gets the cache.

    Declaration
    public MemcachedClient Cache { get; }
    Property Value
    Type Description
    Enyim.Caching.MemcachedClient

    The cache.

    | Improve this Doc View Source

    Count

    Gets the number of items the cache handle currently maintains.

    Declaration
    public override int Count { get; }
    Property Value
    Type Description
    Int32

    The count.

    Overrides
    CacheManager.Core.Internal.BaseCacheHandle<TCacheValue>.Count
    | Improve this Doc View Source

    GetMemcachedClientConfiguration

    Gets the get memcached client configuration.

    Declaration
    public IMemcachedClientConfiguration GetMemcachedClientConfiguration { get; }
    Property Value
    Type Description
    Enyim.Caching.Configuration.IMemcachedClientConfiguration

    The get memcached client configuration.

    | Improve this Doc View Source

    IsDistributedCache

    Declaration
    public override bool IsDistributedCache { get; }
    Property Value
    Type Description
    Boolean
    Overrides
    CacheManager.Core.Internal.BaseCacheHandle<TCacheValue>.IsDistributedCache
    | Improve this Doc View Source

    Logger

    Declaration
    protected override ILogger Logger { get; }
    Property Value
    Type Description
    ILogger
    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.Logger
    | Improve this Doc View Source

    ServerItemCount

    Gets the total number of items per server.

    Declaration
    public IEnumerable<long> ServerItemCount { get; }
    Property Value
    Type Description
    IEnumerable<Int64>

    The total number of items per server.

    | Improve this Doc View Source

    Servers

    Gets the servers.

    Declaration
    public IList<IPEndPoint> Servers { get; }
    Property Value
    Type Description
    IList<System.Net.IPEndPoint>

    The servers.

    Methods

    | Improve this Doc View Source

    AddInternalPrepared(CacheItem<TCacheValue>)

    Adds a value to the cache.

    Declaration
    protected override bool AddInternalPrepared(CacheItem<TCacheValue> item)
    Parameters
    Type Name Description
    CacheItem<TCacheValue> item

    The CacheItem to be added to the cache.

    Returns
    Type Description
    Boolean

    true if the key was not already added to the cache, false otherwise.

    Overrides
    CacheManager.Core.Internal.BaseCacheHandle<TCacheValue>.AddInternalPrepared(CacheManager.Core.CacheItem<TCacheValue>)
    | Improve this Doc View Source

    Clear()

    Clears this cache, removing all items in the base cache and all regions.

    Declaration
    public override void Clear()
    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.Clear()
    | Improve this Doc View Source

    ClearRegion(String)

    Clears the cache region, removing all items from the specified region only.

    Declaration
    public override void ClearRegion(string region)
    Parameters
    Type Name Description
    String region

    The cache region.

    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.ClearRegion(System.String)
    Remarks

    Not supported for memcached.

    | Improve this Doc View Source

    Dispose(Boolean)

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

    Declaration
    protected override void Dispose(bool disposeManaged)
    Parameters
    Type Name Description
    Boolean disposeManaged

    Indicator if managed resources should be released.

    Overrides
    CacheManager.Core.Internal.BaseCacheHandle<TCacheValue>.Dispose(System.Boolean)
    | Improve this Doc View Source

    Exists(String)

    Declaration
    public override bool Exists(string key)
    Parameters
    Type Name Description
    String key
    Returns
    Type Description
    Boolean
    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.Exists(System.String)
    | Improve this Doc View Source

    Exists(String, String)

    Declaration
    public override bool Exists(string key, string region)
    Parameters
    Type Name Description
    String key
    String region
    Returns
    Type Description
    Boolean
    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.Exists(System.String, System.String)
    | Improve this Doc View Source

    GetCacheItemInternal(String)

    Gets a CacheItem for the specified key.

    Declaration
    protected override CacheItem<TCacheValue> GetCacheItemInternal(string key)
    Parameters
    Type Name Description
    String key

    The key being used to identify the item within the cache.

    Returns
    Type Description
    CacheItem<TCacheValue>

    The CacheItem.

    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.GetCacheItemInternal(System.String)
    | Improve this Doc View Source

    GetCacheItemInternal(String, String)

    Gets a CacheItem for the specified key.

    Declaration
    protected override CacheItem<TCacheValue> GetCacheItemInternal(string key, string region)
    Parameters
    Type Name Description
    String key

    The key being used to identify the item within the cache.

    String region

    The cache region.

    Returns
    Type Description
    CacheItem<TCacheValue>

    The CacheItem.

    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.GetCacheItemInternal(System.String, System.String)
    | Improve this Doc View Source

    PutInternalPrepared(CacheItem<TCacheValue>)

    Puts the item into the cache. If the item exists it will get updated with the new value. If the item doesn't exist, the item will be added to the cache.

    Declaration
    protected override void PutInternalPrepared(CacheItem<TCacheValue> item)
    Parameters
    Type Name Description
    CacheItem<TCacheValue> item

    The CacheItem to be added to the cache.

    Overrides
    CacheManager.Core.Internal.BaseCacheHandle<TCacheValue>.PutInternalPrepared(CacheManager.Core.CacheItem<TCacheValue>)
    | Improve this Doc View Source

    RemoveInternal(String)

    Removes a value from the cache for the specified key.

    Declaration
    protected override bool RemoveInternal(string key)
    Parameters
    Type Name Description
    String key

    The key being used to identify the item within the cache.

    Returns
    Type Description
    Boolean

    true if the key was found and removed from the cache, false otherwise.

    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.RemoveInternal(System.String)
    | Improve this Doc View Source

    RemoveInternal(String, String)

    Removes a value from the cache for the specified key.

    Declaration
    protected override bool RemoveInternal(string key, string region)
    Parameters
    Type Name Description
    String key

    The key being used to identify the item within the cache.

    String region

    The cache region.

    Returns
    Type Description
    Boolean

    true if the key was found and removed from the cache, false otherwise.

    Overrides
    CacheManager.Core.Internal.BaseCache<TCacheValue>.RemoveInternal(System.String, System.String)
    | Improve this Doc View Source

    Store(StoreMode, CacheItem<TCacheValue>, out Boolean)

    Stores the item with the specified mode.

    Declaration
    protected virtual IStoreOperationResult Store(StoreMode mode, CacheItem<TCacheValue> item, out bool shouldRetry)
    Parameters
    Type Name Description
    Enyim.Caching.Memcached.StoreMode mode

    The mode.

    CacheItem<TCacheValue> item

    The item.

    Boolean shouldRetry

    Flag indicating if the operation should be retried. Returnd succssess code will be false anyways.

    Returns
    Type Description
    Enyim.Caching.Memcached.Results.IStoreOperationResult

    The result.

    Remarks

    Memcached only supports expiration of seconds, meaning anything less than one second will mean zero, which means it expires right after adding it.

    | Improve this Doc View Source

    Update(String, Func<TCacheValue, TCacheValue>, Int32)

    Declaration
    public override UpdateItemResult<TCacheValue> Update(string key, Func<TCacheValue, TCacheValue> updateValue, int maxRetries)
    Parameters
    Type Name Description
    String key
    Func<TCacheValue, TCacheValue> updateValue
    Int32 maxRetries
    Returns
    Type Description
    UpdateItemResult<TCacheValue>
    Overrides
    CacheManager.Core.Internal.BaseCacheHandle<TCacheValue>.Update(System.String, System.Func<TCacheValue, TCacheValue>, System.Int32)
    | Improve this Doc View Source

    Update(String, String, Func<TCacheValue, TCacheValue>, Int32)

    Declaration
    public override UpdateItemResult<TCacheValue> Update(string key, string region, Func<TCacheValue, TCacheValue> updateValue, int maxRetries)
    Parameters
    Type Name Description
    String key
    String region
    Func<TCacheValue, TCacheValue> updateValue
    Int32 maxRetries
    Returns
    Type Description
    UpdateItemResult<TCacheValue>
    Overrides
    CacheManager.Core.Internal.BaseCacheHandle<TCacheValue>.Update(System.String, System.String, System.Func<TCacheValue, TCacheValue>, System.Int32)
    • Improve this Doc
    • View Source
    © 2025 by Michael Conrad. All rights reserved. - MichaCo.net