Skip to main content

Class: abstract Cache<V>

Defined in: packages/core/src/cache/Cache.ts:11

The cache provides a temporary storage for expirable information. The primary use of a cache is caching information obtained via costly means (CPU-heavy computation or networking) to speed up the application's performance when the same information needs to be retrieved multiple times.

Extended by

Type Parameters

V = unknown

Constructors

new Cache()

new Cache<V>(): Cache<V>

Returns

Cache<V>

Methods

clear()

clear(): void

Defined in: packages/core/src/cache/Cache.ts:15

Clears the cache by deleting all entries.

Returns

void


delete()

delete(key): void

Defined in: packages/core/src/cache/Cache.ts:69

Deletes the specified cache entry. The method has no effect if the entry does not exist.

Parameters

key

string

The identifier of the cache entry.

Returns

void


deserialize()

deserialize(serializedData): void

Defined in: packages/core/src/cache/Cache.ts:118

Loads the provided serialized cache data into this cache. Entries present in this cache but not specified in the provided data will remain in this cache intact.

Parameters

serializedData

SerializedData<V>

An object representing the state of the cache to load, obtained by parsing the JSON string returned by the Cache#serialize method.

Returns

void


disable()

disable(): void

Defined in: packages/core/src/cache/Cache.ts:83

Disables the cache, preventing the retrieval of any cached entries and reporting all cache entries as non-existing. Disabling the cache does not however prevent modifying the existing or creating new cache entries.

Disabling the cache also clears all of its current entries.

The method has no effect if the cache is already disabled.

Returns

void


enable()

enable(): void

Defined in: packages/core/src/cache/Cache.ts:92

Enables the cache, allowing the retrieval of cache entries.

The method has no effect if the cache is already enabled.

Returns

void


get()

get(key): null | V

Defined in: packages/core/src/cache/Cache.ts:43

Returns the value of the entry identified by the specified key.

The method returns null if the specified entry does not exist, has already expired, or the cache is currently disabled.

Parameters

key

string

The identifier of the cache entry.

Returns

null | V

The value of the specified cache entry, or null if the entry is not available.


has()

has(key): boolean

Defined in: packages/core/src/cache/Cache.ts:29

Tests whether the cache contains a fresh entry for the specified key. A cache entry is fresh if the has not expired its TTL (time to live).

The method always returns false if the cache is currently disabled.

Parameters

key

string

The identifier of the cache entry.

Returns

boolean

true if the cache is enabled, the entry exists and has not expired yet.


serialize()

serialize(): string

Defined in: packages/core/src/cache/Cache.ts:104

Exports the state of this cache to an HTML-safe JSON string. The data obtained by parsing the result of this method are compatible with the Cache#deserialize method.

Returns

string

A JSON string containing an object representing of the current state of this cache.


set()

set(key, value, ttl?): void

Defined in: packages/core/src/cache/Cache.ts:59

Sets the cache entry identified by the specified key to the provided value. The entry is created if it does not exist yet.

The method has no effect if the cache is currently disabled.

Parameters

key

string

The identifier of the cache entry.

value

V

The cache entry value.

ttl?

Cache entry time to live in milliseconds. The entry will expire after the specified amount of milliseconds. Use null or omit the parameter to use the default TTL of this cache.

string | number

Returns

void