tiny-lru
    TypeScript icon, indicating that this package has built-in type declarations

    7.0.6 • Public • Published

    Tiny LRU

    Least Recently Used cache for Client or Server.

    build status

    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.

    Example

    _.memoize.Cache = lru().constructor;
    const memoized = _.memoize(myFunc);
    memoized.cache.max = 10;

    clear

    Method

    Clears the contents of the cache

    return {Object} LRU instance
    

    Example

    cache.clear();

    delete

    Method

    Removes item from cache

    param  {String} key Item key
    return {Object}     LRU instance
    

    Example

    cache.delete("myKey");

    evict

    Method

    Evicts the least recently used item from cache

    return {Object} LRU instance
    

    Example

    cache.evict();

    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!

    remove

    Method

    (Deprecated) Removes item from cache

    param  {String} key Item key
    return {Object}     LRU instance
    

    Example

    cache.remove("myKey");

    set

    Method

    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});

    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) 2019 Jason Mulligan Licensed under the BSD-3 license.

    Install

    npm i tiny-lru

    DownloadsWeekly Downloads

    500,414

    Version

    7.0.6

    License

    BSD-3-Clause

    Unpacked Size

    39 kB

    Total Files

    8

    Last publish

    Collaborators

    • avoidwork