Class: EntityCache
Defined in: src/cache/EntityCache.ts:23
Second-level (L2) cache for entities keyed by their primary key. Integrates with TaggedQueryCache to enable entity-wide and per-record cache invalidation.
Example
const entityCache = new EntityCache();
await entityCache.set(User, 1, userInstance, 60000);
const cachedUser = await entityCache.get(User, 1);
await entityCache.invalidateEntity(User); // evicts all User cache entries
Accessors
taggedCache
Get Signature
get taggedCache():
TaggedQueryCache
Defined in: src/cache/EntityCache.ts:36
Returns
Constructors
Constructor
new EntityCache(
options?):EntityCache
Defined in: src/cache/EntityCache.ts:27
Parameters
| Parameter | Type |
|---|---|
options? | EntityCacheOptions |
Returns
EntityCache
Methods
get()
get<
T>(target,id):Promise<T|null>
Defined in: src/cache/EntityCache.ts:43
Retrieves an entity from the L2 cache by primary key.
Type Parameters
| Type Parameter |
|---|
T extends object |
Parameters
| Parameter | Type |
|---|---|
target | EntityTarget<T> |
id | unknown |
Returns
Promise<T | null>
set()
set<
T>(target,id,entity,ttlMs?):Promise<void>
Defined in: src/cache/EntityCache.ts:51
Stores an entity in the L2 cache with optional TTL.
Type Parameters
| Type Parameter |
|---|
T extends object |
Parameters
| Parameter | Type |
|---|---|
target | EntityTarget<T> |
id | unknown |
entity | T |
ttlMs? | number |
Returns
Promise<void>
delete()
delete<
T>(target,id):Promise<void>
Defined in: src/cache/EntityCache.ts:66
Removes an entity from the L2 cache by primary key.
Type Parameters
| Type Parameter |
|---|
T extends object |
Parameters
| Parameter | Type |
|---|---|
target | EntityTarget<T> |
id | unknown |
Returns
Promise<void>
invalidateEntity()
invalidateEntity<
T>(target):Promise<string[]>
Defined in: src/cache/EntityCache.ts:74
Invalidates all cached instances of the given entity type.
Type Parameters
| Type Parameter |
|---|
T extends object |
Parameters
| Parameter | Type |
|---|---|
target | EntityTarget<T> |
Returns
Promise<string[]>
getMany()
getMany<
T>(target,ids):Promise<Map<unknown,T>>
Defined in: src/cache/EntityCache.ts:83
Retrieves multiple entities by primary key from L2 cache. Returns a map of ID -> Entity (omitting missing IDs).
Type Parameters
| Type Parameter |
|---|
T extends object |
Parameters
| Parameter | Type |
|---|---|
target | EntityTarget<T> |
ids | unknown[] |
Returns
Promise<Map<unknown, T>>
setMany()
setMany<
T>(target,items,ttlMs?):Promise<void>
Defined in: src/cache/EntityCache.ts:100
Stores multiple entities in L2 cache.
Type Parameters
| Type Parameter |
|---|
T extends object |
Parameters
| Parameter | Type |
|---|---|
target | EntityTarget<T> |
items | object[] |
ttlMs? | number |
Returns
Promise<void>
clear()
clear():
Promise<void>
Defined in: src/cache/EntityCache.ts:113
Clears the entire entity cache.
Returns
Promise<void>