packages/core/src/cache/CacheAdapter.ts
export interface CacheAdapter {
/**
* Gets the items under `name` key from the cache.
*/
get<T = any>(name: string): T | Promise<T | undefined> | undefined;
/**
* Sets the item to the cache. `origin` is used for cache invalidation and should reflect the change in data.
*/
set(name: string, data: any, origin: string, expiration?: number): void | Promise<void>;
/**
* Removes the item from cache.
*/
remove(name: string): void | Promise<void>;
/**
* Clears all items stored in the cache.
*/
clear(): void | Promise<void>;
/**
* Called inside `MikroORM.close()` Allows graceful shutdowns (e.g. for redis).
*/
close?(): void | Promise<void>;
}
export interface SyncCacheAdapter extends CacheAdapter {
/**
* Gets the items under `name` key from the cache.
*/
get<T = any>(name: string): T | undefined;
/**
* Sets the item to the cache. `origin` is used for cache invalidation and should reflect the change in data.
*/
set(name: string, data: any, origin: string, expiration?: number): void;
/**
* Removes the item from cache.
*/
remove(name: string): void;
/**
* Generates a combined cache from all existing entries.
*/
combine?(): string | void;
}