Package Exports
- toad-cache
- toad-cache/dist/toad-cache.cjs
- toad-cache/dist/toad-cache.esm.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (toad-cache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Toad Cache
Least-Recently-Used and First-In-First-Out caches for Client or Server.
Getting started
import { lru } from "toad-cache";
const cache = lru(max, ttl = 0);
clear
Method
Clears the contents of the cache
Example
cache.clear();
delete
Method
Removes item from cache
param {String} key Item key
Example
cache.delete("myKey");
evict
Method
Evicts the least recently used item from cache
Example
cache.evict();
expiresAt
Method
Gets expiration time for cached item
param {String} key Item key
return {Mixed} Undefined or number (epoch time)
Example
const item = cache.expiresAt("myKey");
first
Property
Item in "first" or "bottom" position
Example
const cache = lru();
cache.first; // null - it's a new cache!
get
Method
Gets cached item and moves it to the front
param {String} key Item key
return {Mixed} Undefined or Item value
Example
const item = cache.get("myKey");
keys
Method
Returns an Array
of cache item keys.
return {Array} Array of keys
Example
console.log(cache.keys());
max
Property
Max items to hold in cache (1000)
Example
const cache = lru(500);
cache.max; // 500
last
Property
Item in "last" or "top" position
Example
const cache = lru();
cache.last; // null - it's a new cache!
set
Method
Sets item in cache as first
param {String} key Item key
param {Mixed} value Item value
Example
cache.set("myKey", { prop: true });
size
Property
Number of items in cache
Example
const cache = lru();
cache.size; // 0 - it's a new cache!
ttl
Property
Milliseconds an item will remain in cache; lazy expiration upon next get()
of an item
Example
const cache = lru();
cache.ttl = 3e4;
License
Copyright (c) 2023 Igor Savin
Based on tiny-lru, created by Jason Mulligan
Licensed under the MIT license.