CacheManager - Менеджер кэша
Обзор
CacheManager основан на node-cache-manager и предоставляет управление модулем кэша для NocoBase. Встроенные типы кэша:
- memory - lru-cache, предоставляемый по умолчанию в node-cache-manager
- redis - поддерживается через node-cache-manager-redis-yet
Дополнительные типы можно регистрировать и расширять через API.
Концепции
-
Store: Определяет способ кэширования, включая фабричный метод создания кэша и связанные конфигурации. Каждый способ кэширования имеет уникальный идентификатор, задаваемый при регистрации. Уникальные идентификаторы двух встроенных способов кэширования:
memoryиredis. -
Store Factory Method: Метод, предоставляемый
node-cache-managerи связанными пакетами расширений для создания кэша. Например,'memory', предоставляемый по умолчанию вnode-cache-manager, иredisStore, предоставляемыйnode-cache-manager-redis-yet. Это соответствует первому параметру методаcachingвnode-cache-manager. -
Cache: Класс, инкапсулированный NocoBase, который предоставляет методы для работы с кэшем. При фактическом использовании кэша вы работаете с экземпляром
Cache. Каждый экземплярCacheимеет уникальный идентификатор, который может использоваться как пространство имен для разделения разных модулей.
Методы класса
constructor()
Сигнатура
constructor(options?: CacheManagerOptions)
Типы
Подробности
CacheManagerOptions
StoreOptions
options по умолчанию
Параметр options будет объединен с параметрами по умолчанию. Свойства, которые уже есть в дефолтной конфигурации, можно не указывать. Например:
registerStore()
Регистрирует новый способ кэширования. Например:
Сигнатура
registerStore(options: { name: string } & StoreOptions)
createCache()
Создает кэш. Напри мер:
Сигнатура
createCache(options: { name: string; prefix?: string; store?: string; [key: string]: any }): Promise<Cache>
Подробности
options
Если store не указан, будет использован defaultStore. В таком случае способ кэширования будет зависеть от системного способа кэширования по умолчанию.
Если пользовательские параметры отсутствуют, возвращается пространство кэша по умолчанию, созданное глобальной конфигурацией и совместно используемое текущим способом кэширования. Рекомендуется добавлять prefix, чтобы избежать конфликтов ключей.
Cache
См. Cache
getCache()
Получает соответствующий кэш.
Сигнатура
getCache(name: string): Cache
flushAll()
Сбрасывает все кэши.
close()
Закрывает все соединения промежуточного ПО кэша.

