Interface ISchemeMetadataCache

Assembly: redb.Core.dll

Specialized cache for object schemes.
Fast access to scheme metadata by type, ID and name.

public interface ISchemeMetadataCache

Methods

GetAllCachedSchemes()

Get all cached schemes (for diagnostics).

Dictionary<long, RedbScheme> GetAllCachedSchemes()

GetSchemeByIdAsync(long)

Get scheme by ID.

Task<RedbScheme?> GetSchemeByIdAsync(long schemeId)

GetSchemeByNameAsync(string)

Get scheme by name.

Task<RedbScheme?> GetSchemeByNameAsync(string schemeName)

GetSchemeByTypeAsync(Type)

Get scheme by .NET type.

Task<RedbScheme?> GetSchemeByTypeAsync(Type type)

GetSchemeByTypeAsync<TProps>()

Get scheme by .NET type (most common case).

Task<RedbScheme?> GetSchemeByTypeAsync<TProps>() where TProps : class

GetStatistics()

Get scheme cache statistics.

SchemeCacheStatistics GetStatistics()

InvalidateAll()

Clear all scheme cache.

void InvalidateAll()

InvalidateScheme(long)

Remove scheme from cache by ID.

void InvalidateScheme(long schemeId)

InvalidateScheme(string)

Remove scheme from cache by name.

void InvalidateScheme(string schemeName)

InvalidateSchemeForType(Type)

Remove scheme from cache by type.

void InvalidateSchemeForType(Type type)

InvalidateSchemeForType<TProps>()

Remove scheme from cache by type.

void InvalidateSchemeForType<TProps>() where TProps : class

SetScheme(RedbScheme)

Add or update scheme in cache.

void SetScheme(RedbScheme scheme)

SetSchemeForType(Type, RedbScheme)

Add or update scheme in cache with type binding.

void SetSchemeForType(Type type, RedbScheme scheme)

SetSchemeForType<TProps>(RedbScheme)

Add or update scheme in cache with type binding.

void SetSchemeForType<TProps>(RedbScheme scheme) where TProps : class