Questa documentazione è stata tradotta automaticamente dall'IA.
CacheManager si basa su node-cache-manager e fornisce a NocoBase funzionalità di gestione dei moduli di cache. I tipi di cache integrati sono:
È possibile registrare ed estendere ulteriori tipi tramite API.
Store: Definisce un metodo di caching, che include un metodo factory per la creazione delle cache e altre configurazioni correlate. Ogni metodo di caching ha un identificatore univoco, fornito durante la registrazione. Gli identificatori univoci per i due metodi di caching integrati sono memory e redis.
Metodo Factory dello Store: Un metodo fornito da node-cache-manager e dai pacchetti di estensione correlati per la creazione delle cache. Ad esempio, 'memory' fornito di default da node-cache-manager, e redisStore fornito da node-cache-manager-redis-yet. Questo corrisponde al primo parametro del metodo caching in node-cache-manager.
Cache: Una classe incapsulata da NocoBase che fornisce metodi per l'utilizzo della cache. Quando si utilizza effettivamente la cache, si opera su un'istanza di Cache. Ogni istanza di Cache ha un identificatore univoco, che può essere utilizzato come namespace per distinguere i diversi moduli.
constructor()constructor(options?: CacheManagerOptions)| Proprietà | Tipo | Descrizione |
|---|---|---|
defaultStore | string | L'identificatore univoco per il tipo di cache predefinito. |
stores | Record<string, StoreOptions> | Registra i tipi di cache. La chiave è l'identificatore univoco per il tipo di cache, e il valore è un oggetto contenente il metodo di registrazione e la configurazione globale per il tipo di cache. In node-cache-manager, il metodo per creare una cache è await caching(store, config). L'oggetto da fornire qui è StoreOptions. |
| Proprietà | Tipo | Descrizione |
|---|---|---|
store | memory | FactoryStore<Store, any> | Il metodo factory dello store, corrispondente al primo parametro di caching. |
close | (store: Store) => Promise<void> | Opzionale. Per middleware come Redis che richiedono una connessione, è necessario fornire un metodo di callback per chiudere la connessione. Il parametro di input è l'oggetto restituito dal metodo factory dello store. |
[key: string] | any | Altre configurazioni globali dello store, corrispondenti al secondo parametro di caching. |
options predefiniteIl parametro options verrà unito con le opzioni predefinite. Le proprietà già presenti nelle opzioni predefinite possono essere omesse. Ad esempio:
registerStore()Registra un nuovo metodo di caching. Ad esempio:
registerStore(options: { name: string } & StoreOptions)createCache()Crea una cache. Ad esempio:
createCache(options: { name: string; prefix?: string; store?: string; [key: string]: any }): Promise<Cache>| Proprietà | Tipo | Descrizione |
|---|---|---|
name | string | Identificatore univoco per la cache. |
store | string | Identificatore univoco per lo store. |
prefix | string | Opzionale, prefisso per le chiavi della cache. |
[key: string] | any | Altri elementi di configurazione personalizzati relativi allo store. |
Se store viene omesso, verrà utilizzato defaultStore. In questo caso, il metodo di caching cambierà in base al metodo di caching predefinito del sistema.
Quando non ci sono configurazioni personalizzate, viene restituito lo spazio cache predefinito creato dalla configurazione globale e condiviso dal metodo di caching corrente. Si raccomanda di aggiungere un prefix per evitare conflitti di chiavi.
Vedere Cache
getCache()Recupera la cache corrispondente.
getCache(name: string): CacheflushAll()Reimposta tutte le cache.
close()Chiude tutte le connessioni middleware della cache.