Skip to main content

CacheStrategy

CacheStrategy

The CacheStrategy defines how the underlying shared cache mechanism is implemented.

It is used by the CacheService to take care of storage and retrieval of items from the cache.

Signature
interface CacheStrategy extends InjectableStrategy {
get<T extends JsonCompatible<T>>(key: string): Promise<T | undefined>;
set<T extends JsonCompatible<T>>(key: string, value: T, options?: SetCacheKeyOptions): Promise<void>;
delete(key: string): Promise<void>;
invalidateTags(tags: string[]): Promise<void>;
}

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.