Tessa.Platform.Caching - пространство имён

Классы и вспомогательные методы для организации кэширования.

Классы

ConcurrentKeyCacheT Кэш, осуществляющий перевод строго типизированных ключей в строки и наоборот. К кэшу возможен неблокирующий доступ из нескольких потоков.
ConcurrentKeyCacheTGlobal Класс, содержащий ссылку на глобальный кэш объектов типа T.
GlobalCacheTEventArgs Потокобезопасный кэш, обеспечивающий синхронный сброс кэша всех экземпляров с заданным именем независимо от того, располагаются ли такие экземпляры в том же приложении или в другом процессе.
GlobalCacheInvalidationContext Контекст объекта, выполняющего инвалидацию глобального кеша.
GlobalCacheLock

Объект, отвечающий за глобальную блокировку кэшей между собой.

В отличии от AsyncLock, последующие вызовы ExecuteReaderAsync(FuncCancellationToken, ValueTask, CancellationToken) и ExecuteWriterAsync(FuncCancellationToken, ValueTask, CancellationToken) ниже по стеку будут выполняться в рамках уже взятой блокировки.

Рекомендуется использовать в методах, которые могут использовать другие кэши (например, GetAsyncT(FuncCancellationToken, TaskT, FuncCancellationToken, TaskT, Boolean, CancellationToken) при заполнении кэша или InvalidateLocalCacheAsync(TEventArgs, CancellationToken) при сбрасывании локального кэша), для исключения ситуации, когда два разных кэша могут брать блокировку друг на друга.

Интерфейсы

IGlobalCacheInvalidationContext Контекст объекта, выполняющего инвалидацию глобального кеша.
IGlobalCacheLock

Объект, отвечающий за глобальную блокировку кэшей между собой.

В отличии от AsyncLock, последующие вызовы ExecuteReaderAsync(FuncCancellationToken, ValueTask, CancellationToken) и ExecuteWriterAsync(FuncCancellationToken, ValueTask, CancellationToken) ниже по стеку будут выполняться в рамках уже взятой блокировки.

Рекомендуется использовать в методах, которые могут использовать другие кэши (например, GetAsyncT(FuncCancellationToken, TaskT, FuncCancellationToken, TaskT, Boolean, CancellationToken) при заполнении кэша или InvalidateLocalCacheAsync(TEventArgs, CancellationToken) при сбрасывании локального кэша), для исключения ситуации, когда два разных кэша могут брать блокировку друг на друга.

IKeyCacheT Кэш, осуществляющий перевод строго типизированных ключей в строки и наоборот.