Skip to main content

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​

TaggedQueryCache

Constructors​

Constructor​

new EntityCache(options?): EntityCache

Defined in: src/cache/EntityCache.ts:27

Parameters​

ParameterType
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​

ParameterType
targetEntityTarget<T>
idunknown

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​

ParameterType
targetEntityTarget<T>
idunknown
entityT
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​

ParameterType
targetEntityTarget<T>
idunknown

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​

ParameterType
targetEntityTarget<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​

ParameterType
targetEntityTarget<T>
idsunknown[]

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​

ParameterType
targetEntityTarget<T>
itemsobject[]
ttlMs?number

Returns​

Promise<void>


clear()​

clear(): Promise<void>

Defined in: src/cache/EntityCache.ts:113

Clears the entire entity cache.

Returns​

Promise<void>