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.
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
(configService: ConfigService) => CacheService
createCache
(config: CacheConfig) => Cache
Creates a new Cache instance with the given configuration.
The Cache
instance provides a convenience wrapper around the CacheService
methods.
get
(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
(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
(key: string) => Promise<void>
Deletes an item from the cache.
invalidateTags
(tags: string[]) => Promise<void>
Deletes all items from the cache which contain at least one matching tag.