logologo
Start
Handbuch
Entwicklung
Plugins
API
Startseite
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Start
Handbuch
Entwicklung
Plugins
API
Startseite
logologo
API-Überblick

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Cache

@nocobase/cli

NocoBase CLI
Globale Umgebungsvariablen

@nocobase/client

Anwendung
Plugin

@nocobase/database

Sammlung
Feld

interfaces

BaseInterface
Filter-Operatoren

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repository

shared

create-options
destroy-options
find-one
find-options
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
Datenquelle (abstrakt)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

DataSourceManager
FlowContext
FlowEngine
FlowModel
Workflow-Ressource

@nocobase/logger

Logger

@nocobase/server

AppCommand
Anwendung
AuditManager
Kontext
Migration
Plugin

@nocobase/sdk

Auth
Speicher
Previous PageBaseAuth
Next PageCache
KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#CacheManager

#Überblick

CacheManager basiert auf node-cache-manager und bietet NocoBase Funktionen zur Verwaltung von Cache-Modulen. Die integrierten Cache-Typen sind:

  • memory – lru-cache, standardmäßig von node-cache-manager bereitgestellt
  • redis – unterstützt durch node-cache-manager-redis-yet

Weitere Typen können über die API registriert und erweitert werden.

#Konzepte

  • Store: Definiert eine Caching-Methode, einschließlich einer Factory-Methode zum Erstellen von Caches und anderer zugehöriger Konfigurationen. Jede Caching-Methode hat einen eindeutigen Bezeichner, der bei der Registrierung angegeben wird. Die eindeutigen Bezeichner für die beiden integrierten Caching-Methoden sind memory und redis.

  • Store Factory-Methode: Eine Methode, die von node-cache-manager und zugehörigen Erweiterungspaketen zum Erstellen von Caches bereitgestellt wird. Zum Beispiel 'memory', standardmäßig von node-cache-manager bereitgestellt, und redisStore, bereitgestellt von node-cache-manager-redis-yet. Dies entspricht dem ersten Parameter der caching-Methode in node-cache-manager.

  • Cache: Eine von NocoBase gekapselte Klasse, die Methoden zur Verwendung des Caches bereitstellt. Bei der tatsächlichen Verwendung des Caches arbeiten Sie mit einer Instanz von Cache. Jede Cache-Instanz hat einen eindeutigen Bezeichner, der als Namespace zur Unterscheidung verschiedener Module verwendet werden kann.

#Klassenmethoden

#constructor()

#Signatur

  • constructor(options?: CacheManagerOptions)

#Typen

export type CacheManagerOptions = Partial<{
  defaultStore: string;
  stores: {
    [storeType: string]: StoreOptions;
  };
}>;

type StoreOptions = {
  store?: 'memory' | FactoryStore<Store, any>;
  close?: (store: Store) => Promise<void>;
  // global config
  [key: string]: any;
};

#Details

#CacheManagerOptions
EigenschaftTypBeschreibung
defaultStorestringDer eindeutige Bezeichner für den Standard-Cache-Typ.
storesRecord<string, StoreOptions>Registriert Cache-Typen. Der Schlüssel ist der eindeutige Bezeichner für den Cache-Typ, und der Wert ist ein Objekt, das die Registrierungsmethode und die globale Konfiguration für den Cache-Typ enthält.
In node-cache-manager ist die Methode zum Erstellen eines Caches await caching(store, config). Das hier bereitzustellende Objekt ist StoreOptions.
#StoreOptions
EigenschaftTypBeschreibung
storememory | FactoryStore<Store, any>Die Store-Factory-Methode, entsprechend dem ersten Parameter von caching.
close(store: Store) => Promise<void>Optional. Für Middleware wie Redis, die eine Verbindung erfordert, muss eine Callback-Methode zum Schließen der Verbindung bereitgestellt werden. Der Eingabeparameter ist das Objekt, das von der Store-Factory-Methode zurückgegeben wird.
[key: string]anyAndere globale Store-Konfigurationen, entsprechend dem zweiten Parameter von caching.

#Standard options

import { redisStore, RedisStore } from 'cache-manager-redis-yet';

const defaultOptions: CacheManagerOptions = {
  defaultStore: 'memory',
  stores: {
    memory: {
      store: 'memory',
      // global config
      max: 2000,
    },
    redis: {
      store: redisStore,
      close: async (redis: RedisStore) => {
        await redis.client.quit();
      },
    },
  },
};

Der options-Parameter wird mit den Standardoptionen zusammengeführt. Eigenschaften, die bereits in den Standardoptionen vorhanden sind, können weggelassen werden. Zum Beispiel:

const cacheManager = new CacheManager({
  stores: {
    defaultStore: 'redis',
    redis: {
      // redisStore ist bereits in den Standardoptionen enthalten, Sie müssen also nur die redisStore-Konfiguration angeben.
      url: 'redis://localhost:6379',
    },
  },
});

#registerStore()

Registriert eine neue Caching-Methode. Zum Beispiel:

import { redisStore } from 'cache-manager-redis-yet';

cacheManager.registerStore({
  // eindeutiger Bezeichner für den Store
  name: 'redis',
  // Factory-Methode zum Erstellen des Stores
  store: redisStore,
  // Store-Verbindung schließen
  close: async (redis: RedisStore) => {
    await redis.client.quit();
  },
  // globale Konfiguration
  url: 'xxx',
});

#Signatur

  • registerStore(options: { name: string } & StoreOptions)

#createCache()

Erstellt einen Cache. Zum Beispiel:

await cacheManager.createCache({
  name: 'default', // eindeutiger Bezeichner für den Cache
  store: 'memory', // eindeutiger Bezeichner für den Store
  prefix: 'mycache', // fügt Cache-Schlüsseln automatisch das Präfix 'mycache:' hinzu, optional
  // andere Store-Konfigurationen, benutzerdefinierte Konfigurationen werden mit der globalen Store-Konfiguration zusammengeführt
  max: 2000,
});

#Signatur

  • createCache(options: { name: string; prefix?: string; store?: string; [key: string]: any }): Promise<Cache>

#Details

#options
EigenschaftTypBeschreibung
namestringEindeutiger Bezeichner für den Cache.
storestringEindeutiger Bezeichner für den Store.
prefixstringOptional, Präfix für Cache-Schlüssel.
[key: string]anyAndere benutzerdefinierte Konfigurationselemente, die sich auf den Store beziehen.

Wenn store weggelassen wird, wird defaultStore verwendet. In diesem Fall ändert sich die Caching-Methode entsprechend der Standard-Caching-Methode des Systems.

Wenn keine benutzerdefinierten Konfigurationen vorhanden sind, wird der Standard-Cache-Bereich zurückgegeben, der von der globalen Konfiguration erstellt und von der aktuellen Caching-Methode gemeinsam genutzt wird. Es wird empfohlen, ein prefix hinzuzufügen, um Schlüsselkonflikte zu vermeiden.

// Verwenden Sie den Standard-Cache mit globaler Konfiguration
await cacheManager.createCache({ name: 'default', prefix: 'mycache' });
#Cache

Siehe Cache

#getCache()

Ruft den entsprechenden Cache ab.

cacheManager.getCache('default');

#Signatur

  • getCache(name: string): Cache

#flushAll()

Setzt alle Caches zurück.

await cacheManager.flushAll();

#close()

Schließt alle Cache-Middleware-Verbindungen.

await cacheManager.close();