MemoryCache Class

Definition

An implementation of IMemoryCache using a dictionary to store its entries.

public ref class MemoryCache : IDisposable, Microsoft::Extensions::Caching::Memory::IMemoryCache
public class MemoryCache : IDisposable, Microsoft.Extensions.Caching.Memory.IMemoryCache
type MemoryCache = class
    interface IMemoryCache
    interface IDisposable
Public Class MemoryCache
Implements IDisposable, IMemoryCache
Inheritance
MemoryCache
Implements

Constructors

MemoryCache(IOptions<MemoryCacheOptions>)

Creates a new MemoryCache instance.

MemoryCache(IOptions<MemoryCacheOptions>, ILoggerFactory)

Creates a new MemoryCache instance.

Properties

Count

Gets the count of the current entries for diagnostic purposes.

Keys

Methods

Clear()

Removes all keys and values from the cache.

Compact(Double)
CreateEntry(Object)

Creates or overwrites an entry in the cache.

Dispose()

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

Dispose(Boolean)

Disposes the cache and clears all entries.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize()

Cleans up the background collection events.

GetCurrentStatistics()

Gets a snapshot of the current statistics for the memory cache.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(Object)

Removes the object associated with the given key.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
TryGetValue(Object, Object)

Gets the item associated with this key if present.

Extension Methods

Get(IMemoryCache, Object)

Gets the value associated with this key if present.

Get<TItem>(IMemoryCache, Object)

Gets the value associated with this key if present.

GetOrCreate<TItem>(IMemoryCache, Object, Func<ICacheEntry,TItem>)

Gets the value associated with this key if it exists, or generates a new entry using the provided key and a value from the given factory if the key is not found.

GetOrCreate<TItem>(IMemoryCache, Object, Func<ICacheEntry,TItem>, MemoryCacheEntryOptions)
GetOrCreateAsync<TItem>(IMemoryCache, Object, Func<ICacheEntry,Task<TItem>>)

Asynchronously gets the value associated with this key if it exists, or generates a new entry using the provided key and a value from the given factory if the key is not found.

GetOrCreateAsync<TItem>(IMemoryCache, Object, Func<ICacheEntry,Task<TItem>>, MemoryCacheEntryOptions)
Set<TItem>(IMemoryCache, Object, TItem)

Associates a value with the specified key in the IMemoryCache.

Set<TItem>(IMemoryCache, Object, TItem, MemoryCacheEntryOptions)

Associates a cache entry with the specified key and applies the values of an existing MemoryCacheEntryOptions to the created entry.

Set<TItem>(IMemoryCache, Object, TItem, IChangeToken)

Associates a cache entry with the specified key that will expire when IChangeToken expires.

Set<TItem>(IMemoryCache, Object, TItem, DateTimeOffset)

Creates or overwrites the specified entry in the cache and sets the value with an absolute expiration date.

Set<TItem>(IMemoryCache, Object, TItem, TimeSpan)

Associates a cache entry with a specified key that will expire after a specified duration.

TryGetValue<TItem>(IMemoryCache, Object, TItem)

Tries to get the value associated with a specified key.

Applies to