Package Exports
- toad-cache
Readme
Toad Cache
Least-Recently-Used and First-In-First-Out caches for Client or Server.
Getting started
import { lru, fifo } from "toad-cache";
const LruCache = lru(max, ttl = 0);
const FifoCache = fifo(max, ttl = 0);clear
Method
Clears the contents of the cache
Example
cache.clear();delete
Method
Removes item from cache
param {String} key Item keyExample
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 valueExample
const item = cache.get("myKey");keys
Method
Returns an Array of cache item keys.
return {Array} Array of keysExample
console.log(cache.keys());max
Property
Max items to hold in cache (1000)
Example
const cache = lru(500);
cache.max; // 500last
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 valueExample
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.