Interface ICompositeMetadataCache

Assembly: redb.Core.dll

Composite metadata cache combining schemes, structures and types.
Provides unified interface for all metadata caching operations.

public interface ICompositeMetadataCache

Properties

Schemes

Object schemes cache.

ISchemeMetadataCache Schemes { get; }

Structures

Field structures cache.

IStructureMetadataCache Structures { get; }

Types

Data types cache.

ITypeMetadataCache Types { get; }

Methods

ExportCacheState()

Export cache state for analysis.

CacheExportData ExportCacheState()

GetCompleteMetadataAsync(long)

Get complete metadata by scheme ID.

Task<CompleteSchemeMetadata?> GetCompleteMetadataAsync(long schemeId)

GetCompleteMetadataAsync(Type)

Get complete metadata for .NET type.

Task<CompleteSchemeMetadata?> GetCompleteMetadataAsync(Type type)

GetCompleteMetadataAsync<TProps>()

Get complete metadata for .NET type (scheme + structures + types).

Task<CompleteSchemeMetadata?> GetCompleteMetadataAsync<TProps>() where TProps : class

GetDetailedStatistics()

Get detailed statistics for each component.

DetailedCacheStatistics GetDetailedStatistics()

GetDiagnosticInfo()

Get cache state diagnostic information.

CacheDiagnosticInfo GetDiagnosticInfo()

GetStatistics()

Get combined statistics from all caches.

CompositeMetadataCacheStatistics GetStatistics()

InvalidateAll()

Clear all caches completely.

void InvalidateAll()

InvalidateSchemeCompletely(long)

Invalidate all related caches for scheme.

void InvalidateSchemeCompletely(long schemeId)

InvalidateTypeCompletely(Type)

Invalidate cache for .NET type.

void InvalidateTypeCompletely(Type type)

InvalidateTypeCompletely<TProps>()

Invalidate cache for .NET type.

void InvalidateTypeCompletely<TProps>() where TProps : class

SetCompleteMetadata(CompleteSchemeMetadata)

Set complete metadata in cache.

void SetCompleteMetadata(CompleteSchemeMetadata metadata)

SetCompleteMetadataForType<TProps>(CompleteSchemeMetadata)

Set complete metadata in cache with type binding.

void SetCompleteMetadataForType<TProps>(CompleteSchemeMetadata metadata) where TProps : class

WarmupAllSchemesAsync(Func<Task<List<CompleteSchemeMetadata>>>)

Warm up cache for all schemes.

Task WarmupAllSchemesAsync(Func<Task<List<CompleteSchemeMetadata>>> loadFromDatabase)

WarmupCacheAsync(Type[], Func<Type, Task<CompleteSchemeMetadata?>>)

Warm up cache for list of types.

Task WarmupCacheAsync(Type[] types, Func<Type, Task<CompleteSchemeMetadata?>> loadFromDatabase)