Ця документація була автоматично перекладена штучним інтелектом.
CacheManager базується на node-cache-manager та надає NocoBase функціонал для керування модулями кешу. Вбудовані типи кешу:
Більше типів можна зареєструвати та розширити через 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()Закриває всі з'єднання проміжного програмного забезпечення кешу.