Class MemoryCacheHandle<TCacheValue>
Simple implementation for the MemoryCache.
Inherited Members
Namespace:CacheManager.SystemRuntimeCaching
Assembly:CacheManager.SystemRuntimeCaching.dll
Syntax
public class MemoryCacheHandle<TCacheValue> : BaseCacheHandle<TCacheValue>, ICache<TCacheValue>, IDisposable
Type Parameters
Name | Description |
---|---|
TCacheValue | The type of the cache value. |
Remarks
Although the MemoryCache doesn't support regions nor a RemoveAll/Clear method, we will implement it via cache dependencies.
Constructors
| Improve this Doc View SourceMemoryCacheHandle(ICacheManagerConfiguration, CacheHandleConfiguration, ILoggerFactory)
Initializes a new instance of the MemoryCacheHandle<TCacheValue> class.
Declaration
public MemoryCacheHandle(ICacheManagerConfiguration managerConfiguration, CacheHandleConfiguration configuration, ILoggerFactory loggerFactory)
Parameters
Type | Name | Description |
---|---|---|
ICacheManagerConfiguration | managerConfiguration | The manager configuration. |
CacheHandleConfiguration | configuration | The cache handle configuration. |
ILoggerFactory | loggerFactory | The logger factory. |
Properties
| Improve this Doc View SourceCacheSettings
Gets the cache settings.
Declaration
public NameValueCollection CacheSettings { get; }
Property Value
Type | Description |
---|---|
NameValueCollection | The cache settings. |
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
Logger
Declaration
protected override ILogger Logger { get; }
Property Value
Type | Description |
---|---|
ILogger |
Overrides
Methods
| Improve this Doc View SourceAddInternalPrepared(CacheItem<TCacheValue>)
Adds a value to the cache.
Declaration
protected override bool AddInternalPrepared(CacheItem<TCacheValue> item)
Parameters
Type | Name | Description |
---|---|---|
CacheItem<TCacheValue> | item | The |
Returns
Type | Description |
---|---|
Boolean |
|
Overrides
Clear()
Clears this cache, removing all items in the base cache and all regions.
Declaration
public override void Clear()
Overrides
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
Exists(String)
Declaration
public override bool Exists(string key)
Parameters
Type | Name | Description |
---|---|---|
String | key |
Returns
Type | Description |
---|---|
Boolean |
Overrides
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
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 |
Overrides
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 |
Overrides
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 |
Overrides
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 |
|
Overrides
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 |
|