Skip to main content
Dotset CLI API Documentation / index / LRUCache

Class: LRUCache<K, V>

Defined in: src/mantle/utils/cache.ts:56 LRU Cache with optional TTL support and metrics

Type Parameters

K

K

V

V

Constructors

Constructor

new LRUCache<K, V>(options): LRUCache<K, V>;
Defined in: src/mantle/utils/cache.ts:72

Parameters

options
LRUCacheOptions = {}

Returns

LRUCache<K, V>

Accessors

memoryBytes

Get Signature

get memoryBytes(): number;
Defined in: src/mantle/utils/cache.ts:232 Get current memory usage
Returns
number

size

Get Signature

get size(): number;
Defined in: src/mantle/utils/cache.ts:225 Get current cache size
Returns
number

Methods

clear()

clear(): void;
Defined in: src/mantle/utils/cache.ts:212 Clear all entries

Returns

void

delete()

delete(key): boolean;
Defined in: src/mantle/utils/cache.ts:200 Delete a key from the cache

Parameters

key
K

Returns

boolean

export()

export(): {
  expiresAt?: number;
  key: K;
  value: V;
}[];
Defined in: src/mantle/utils/cache.ts:336 Export cache to JSON-serializable format

Returns

{ expiresAt?: number; key: K; value: V; }[]

forEach()

forEach(callback): void;
Defined in: src/mantle/utils/cache.ts:262 Iterate over entries

Parameters

callback
(value, key) => void

Returns

void

get()

get(key): V | undefined;
Defined in: src/mantle/utils/cache.ts:85 Get a value from the cache

Parameters

key
K

Returns

V | undefined

getMetrics()

getMetrics(): CacheMetrics;
Defined in: src/mantle/utils/cache.ts:293 Get cache metrics

Returns

getOrCompute()

getOrCompute(
   key, 
   compute, 
   ttl?): V;
Defined in: src/mantle/utils/cache.ts:112 Get value or compute if missing

Parameters

key
K
compute
() => V
ttl?
number

Returns

V

getOrComputeAsync()

getOrComputeAsync(
   key, 
   compute, 
ttl?): Promise<V>;
Defined in: src/mantle/utils/cache.ts:126 Get value or compute async if missing

Parameters

key
K
compute
() => Promise<V>
ttl?
number

Returns

Promise<V>

has()

has(key): boolean;
Defined in: src/mantle/utils/cache.ts:185 Check if key exists (and is not expired)

Parameters

key
K

Returns

boolean

import()

import(entries): void;
Defined in: src/mantle/utils/cache.ts:355 Import entries from exported format

Parameters

entries
{ expiresAt?: number; key: K; value: V; }[]

Returns

void

keys()

keys(): IterableIterator<K>;
Defined in: src/mantle/utils/cache.ts:239 Get all keys

Returns

IterableIterator<K>

prune()

prune(): number;
Defined in: src/mantle/utils/cache.ts:276 Clean up expired entries

Returns

number

resetMetrics()

resetMetrics(): void;
Defined in: src/mantle/utils/cache.ts:326 Reset metrics

Returns

void

set()

set(
   key, 
   value, 
   ttl?): void;
Defined in: src/mantle/utils/cache.ts:144 Set a value in the cache

Parameters

key
K
value
V
ttl?
number

Returns

void

values()

values(): V[];
Defined in: src/mantle/utils/cache.ts:246 Get all values

Returns

V[]