an-lru-cache

1.0.5 • Public • Published

ES6 LRU Cache

A simple LRU Cache, a Map that has a maximum number of entries and which discards the least recently used items first.

To install

$ npm install an-lru-cache

Coverage Status Build Status Dependencies Status npm

API

The API mirrors the builtin Map and WeakMap APIs but does not include iterators.

const { LruCache } = require('an-lru-cache')
 
const myCache = new LruCache()  // Default capacity is 100
 
function foo(key, value) {
  myCache.set(key, value)
  // ...
  return myCache.get(key)
}
 
function bar(key) {
  if (myCache.has(key)) {
    // ...
  }
  myCache.delete(key)
}

.set(key, value)

Associates value with key so that .get(key) returns value until a subsequent .set or .delete with the same key or eviction.

.get(key, fallbackValue=undefined)

Returns the value associated with key, or the fallbackValue if supplied.

Gets may return the fallbackValue even if there was a value associated with key if that entry was evicted to ensure that the number of entries did not exceed the maximum allowed.

.delete(key, fallbackValue=undefined)

Deletes any entry for the given key returning the previously associated value if present or fallbackValue otherwise.

.has(key)

True iff there is a value associated with key.

Package Sidebar

Install

npm i an-lru-cache

Weekly Downloads

18

Version

1.0.5

License

Apache-2.0

Unpacked Size

24.1 kB

Total Files

5

Last publish

Collaborators

  • mikesamuel