Skip to main content

Class: TaggedQueryCache

Defined in: src/cache/TaggedQueryCache.ts:21

Advanced cache layer supporting tag-based associations and wildcard tag invalidations.

Example​

const cache = new TaggedQueryCache();
await cache.set('users:active', users, 60000, ['users', 'users:active']);
await cache.set('user:1', user1, 60000, ['users', 'users:1']);

// Invalidate everything matching 'users:*' or specific 'users' tag
await cache.tag('users:*').invalidate();

Implements​

Accessors​

underlyingCache​

Get Signature​

get underlyingCache(): IQueryCache

Defined in: src/cache/TaggedQueryCache.ts:30

Returns​

IQueryCache

Constructors​

Constructor​

new TaggedQueryCache(options?): TaggedQueryCache

Defined in: src/cache/TaggedQueryCache.ts:26

Parameters​

ParameterType
options?TaggedQueryCacheOptions

Returns​

TaggedQueryCache

Methods​

get()​

get<T>(key): Promise<T | null>

Defined in: src/cache/TaggedQueryCache.ts:34

Type Parameters​

Type Parameter
T

Parameters​

ParameterType
keystring

Returns​

Promise<T | null>

Implementation of​

IQueryCache.get


set()​

set<T>(key, value, ttlMs?, tags?): Promise<void>

Defined in: src/cache/TaggedQueryCache.ts:41

Stores a value in the cache with optional TTL and tags.

Type Parameters​

Type Parameter
T

Parameters​

ParameterType
keystring
valueT
ttlMs?number
tags?string[]

Returns​

Promise<void>

Implementation of​

IQueryCache.set


delete()​

delete(key): Promise<void>

Defined in: src/cache/TaggedQueryCache.ts:62

Parameters​

ParameterType
keystring

Returns​

Promise<void>

Implementation of​

IQueryCache.delete


clear()​

clear(): Promise<void>

Defined in: src/cache/TaggedQueryCache.ts:67

Returns​

Promise<void>

Implementation of​

IQueryCache.clear


getTagsForKey()​

getTagsForKey(key): string[]

Defined in: src/cache/TaggedQueryCache.ts:76

Returns all tags currently associated with a cache key.

Parameters​

ParameterType
keystring

Returns​

string[]


getKeysForTag()​

getKeysForTag(tag): string[]

Defined in: src/cache/TaggedQueryCache.ts:84

Returns all cache keys currently associated with a given tag.

Parameters​

ParameterType
tagstring

Returns​

string[]


invalidateTag()​

invalidateTag(tagPattern): Promise<string[]>

Defined in: src/cache/TaggedQueryCache.ts:92

Invalidates all cache entries tagged with the given tag or wildcard pattern (e.g. 'users:*').

Parameters​

ParameterType
tagPatternstring

Returns​

Promise<string[]>


invalidateTags()​

invalidateTags(tagPatterns): Promise<string[]>

Defined in: src/cache/TaggedQueryCache.ts:126

Invalidates multiple tags or patterns in a single operation.

Parameters​

ParameterType
tagPatternsstring[]

Returns​

Promise<string[]>


tag()​

tag(tagOrPattern): object

Defined in: src/cache/TaggedQueryCache.ts:145

Fluent API for operating on a tag or pattern.

Parameters​

ParameterType
tagOrPatternstring | string[]

Returns​

object

NameTypeDefined in
invalidate()() => Promise<string[]>src/cache/TaggedQueryCache.ts:148
getKeys()() => string[]src/cache/TaggedQueryCache.ts:151

Example​

await cache.tag('users:*').invalidate();