Least Recently Used cache for Client or Server.
import {lru} from "tiny-lru";
const cache = lru(max, ttl = 0);Lodash provides a memoize function with a cache that can be swapped out as long as it implements the right interface.
See the lodash docs for more on memoize.
_.memoize.Cache = lru().constructor;
const memoized = _.memoize(myFunc);
memoized.cache.max = 10;Clears the contents of the cache
return {Object} LRU instance
Example
cache.clear();Removes item from cache
param {String} key Item key
return {Object} LRU instance
Example
cache.delete("myKey");Evicts the least recently used item from cache
return {Object} LRU instance
Example
cache.evict();Item in "first" or "bottom" position
Example
const cache = lru();
cache.first; // null - it's a new cache!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");Returns an Array of cache item keys.
return {Array} Array of keys
Example
console.log(cache.keys());Max items to hold in cache (1000)
Example
const cache = lru(500);
cache.max; // 500Item in "last" or "top" position
Example
const cache = lru();
cache.last; // null - it's a new cache!(Deprecated) Removes item from cache
param {String} key Item key
return {Object} LRU instance
Example
cache.remove("myKey");Sets item in cache as first
param {String} key Item key
param {Mixed} value Item value
return {Object} LRU instance
Example
cache.set("myKey", {prop: true});Number of items in cache
Example
const cache = lru();
cache.size; // 0 - it's a new cache!Milliseconds an item will remain in cache; lazy expiration upon next get() of an item
Example
const cache = lru();
cache.ttl = 3e4;Copyright (c) 2022 Jason Mulligan Licensed under the BSD-3 license.