Skip to content

About

Portable key-value cache that auto-selects the best storage backend

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

portacache — Portable key-value cache that auto-selects the best storage backend

Portable key-value cache that auto-selects the best storage backend

CI License: MIT npm Node 20+ Ask DeepWiki Socket


Install

npm install portacache

Usage

import createCache from 'portacache';

const cache = createCache({ttl: 5000});

await cache.set('user', {name: 'Alice'});

await cache.get('user');
//=> {name: 'Alice'}

await cache.has('user');
//=> true

await cache.delete('user');
//=> true

await cache.clear();

API

createCache(options?)

Returns a cache instance with get, set, has, delete, clear, and prune methods. All methods are async and return promises.

options

Type: object

backend

Type: 'auto' | 'memory'
Default: 'auto'

The storage backend to use. Currently defaults to an in-memory Map store.

ttl

Type: number

Default TTL in milliseconds for cache entries.

cache.get(key)

Returns the cached value, or undefined if not found or expired.

cache.set(key, value, ttl?)

Store a value in the cache. Optionally pass a per-entry ttl in milliseconds that overrides the default.

cache.has(key)

Returns true if the key exists and has not expired.

cache.delete(key)

Delete a key from the cache. Returns true if the key was deleted.

cache.clear()

Clear all entries from the cache.

cache.prune()

Remove all expired entries and return the number removed. Expiry cleanup is otherwise lazy: get and has remove an expired entry only when that key is read. Call prune periodically to release expired values for keys that are no longer queried.

Related

  • is-runtime - Detect the current JavaScript runtime environment

License

MIT

About

Portable key-value cache that auto-selects the best storage backend

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages