Эта документация была автоматически переведена ИИ.
CacheManager основан на node-cache-manager и предоставляет NocoBase функциональность управления модулями кеширования. Встроенные типы кеша:
memory – lru-cache, предоставляемый по умолчанию node-cache-manager.redis – поддерживается node-cache-manager-redis-yet.Дополнительные типы можно зарегистрировать и расширить через API.
Store: Определяет способ кеширования, включающий фабричный метод для создания кешей и другие связанные конфигурации. Каждый способ кеширования имеет уникальный идентификатор, который предоставляется при регистрации.
Уникальные идентификаторы для двух встроенных способов кеширования — это memory и redis.
Фабричный метод Store: Метод, предоставляемый 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)| Свойство | Тип | Описание |
|---|---|---|
defaultStore | string | Уникальный идентификатор для типа кеша по умолчанию. |
stores | Record<string, StoreOptions> | Регистрирует типы кеша. Ключом является уникальный идентификатор типа кеша, а значением — объект, содержащий метод регистрации и глобальную конфигурацию для этого типа кеша. В node-cache-manager метод для создания кеша — это await caching(store, config). Здесь необходимо предоставить объект StoreOptions. |
| Свойство | Тип | Описание |
|---|---|---|
store | memory | FactoryStore<Store, any> | Фабричный метод store, соответствующий первому параметру caching. |
close | (store: Store) => Promise<void> | Необязательно. Для промежуточного ПО, такого как Redis, требующего соединения, необходимо предоставить метод обратного вызова для закрытия соединения. Входным параметром является объект, возвращаемый фабричным методом store. |
[key: string] | any | Другие глобальные конфигурации store, соответствующие второму параметру caching. |
options по умолчаниюПараметр options будет объединён с параметрами по умолчанию. Свойства, уже присутствующие в параметрах по умолчанию, можно опустить. Например:
registerStore()Регистрирует новый способ кеширования. Например:
registerStore(options: { name: string } & StoreOptions)createCache()Создаёт кеш. Например:
createCache(options: { name: string; prefix?: string; store?: string; [key: string]: any }): Promise<Cache>| Свойство | Тип | Описание |
|---|---|---|
name | string | Уникальный идентификатор кеша. |
store | string | Уникальный идентификатор store. |
prefix | string | Необязательно, префикс ключа кеша. |
[key: string] | any | Другие пользовательские параметры конфигурации, связанные со store. |
Если store опущен, будет использоваться defaultStore. В этом случае способ кеширования будет меняться в соответствии со способом кеширования по умолчанию в системе.
При отсутствии пользовательских конфигураций возвращается пространство кеша по умолчанию, созданное глобальной конфигурацией и используемое текущим способом кеширования. Рекомендуется добавить prefix во избежание конфликтов ключей.
См. Cache
getCache()Получает соответствующий кеш.
getCache(name: string): CacheflushAll()Сбрасывает все кеши.
close()Закрывает все соединения промежуточного ПО кеширования.