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
Constructors
Constructor
new TaggedQueryCache(
options?):TaggedQueryCache
Defined in: src/cache/TaggedQueryCache.ts:26
Parameters
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
key | string |
Returns
Promise<T | null>
Implementation of
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
| Parameter | Type |
|---|---|
key | string |
value | T |
ttlMs? | number |
tags? | string[] |
Returns
Promise<void>
Implementation of
delete()
delete(
key):Promise<void>
Defined in: src/cache/TaggedQueryCache.ts:62
Parameters
| Parameter | Type |
|---|---|
key | string |
Returns
Promise<void>
Implementation of
clear()
clear():
Promise<void>
Defined in: src/cache/TaggedQueryCache.ts:67
Returns
Promise<void>
Implementation of
getTagsForKey()
getTagsForKey(
key):string[]
Defined in: src/cache/TaggedQueryCache.ts:76
Returns all tags currently associated with a cache key.
Parameters
| Parameter | Type |
|---|---|
key | string |
Returns
string[]
getKeysForTag()
getKeysForTag(
tag):string[]
Defined in: src/cache/TaggedQueryCache.ts:84
Returns all cache keys currently associated with a given tag.
Parameters
| Parameter | Type |
|---|---|
tag | string |
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
| Parameter | Type |
|---|---|
tagPattern | string |
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
| Parameter | Type |
|---|---|
tagPatterns | string[] |
Returns
Promise<string[]>
tag()
tag(
tagOrPattern):object
Defined in: src/cache/TaggedQueryCache.ts:145
Fluent API for operating on a tag or pattern.
Parameters
| Parameter | Type |
|---|---|
tagOrPattern | string | string[] |
Returns
object
| Name | Type | Defined in |
|---|---|---|
invalidate() | () => Promise<string[]> | src/cache/TaggedQueryCache.ts:148 |
getKeys() | () => string[] | src/cache/TaggedQueryCache.ts:151 |
Example
await cache.tag('users:*').invalidate();