Skip to main content

CacheService

CacheService

The CacheService is used to cache data in order to optimize performance.

Internally it makes use of the configured CacheStrategy to persist the cache into a key-value store.

Signature
class CacheService {
protected cacheStrategy: CacheStrategy;
constructor(configService: ConfigService)
createCache(config: CacheConfig) => Cache;
get(key: string) => Promise<T | undefined>;
set(key: string, value: T, options?: SetCacheKeyOptions) => Promise<void>;
delete(key: string) => Promise<void>;
invalidateTags(tags: string[]) => Promise<void>;
}

cacheStrategy

constructor

method
(configService: ConfigService) => CacheService

createCache

method
(config: CacheConfig) => Cache

Creates a new Cache instance with the given configuration.

The Cache instance provides a convenience wrapper around the CacheService methods.

get

method
(key: string) => Promise<T | undefined>

Gets an item from the cache, or returns undefined if the key is not found, or the item has expired.

set

method
(key: string, value: T, options?: SetCacheKeyOptions) => Promise<void>

Sets a key-value pair in the cache. The value must be serializable, so cannot contain things like functions, circular data structures, class instances etc.

Optionally a "time to live" (ttl) can be specified, which means that the key will be considered stale after that many milliseconds.

delete

method
(key: string) => Promise<void>

Deletes an item from the cache.

invalidateTags

method
(tags: string[]) => Promise<void>

Deletes all items from the cache which contain at least one matching tag.