lru-diskcache

A disk cache object that deletes the least-recently-used items

2 years after

lru-diskcache

Build Status

A disk cache object that deletes the least-recently-used items. Based on lru-cache.

Usage

var LRU = require("lru-diskcache")

var cache = LRU('./cache', {
    max: 50
});

cache.init()

cache.set("myfile.md", "A string content")
cache.get("file").then(function() { ... }) // Buffer("A string content")

// with a buffer or stream
cache.set("image.png", new Buffer([ ... ]))
cache.set("index.html", request.get("https://www.google.fr"))

cache.reset()    // empty the cache

If you put more stuff in it, then items will fall out.

If you try to put an oversized thing in it, then it'll fall out right away.

API

// Initialize the cache
cache.init()

// Get content as a buffer (return a promise)
cache.get(key)

// Get content as a string
cache.get(key, { encoding: 'utf8' })

// Get content as a stream (return a promise)
cache.getStream(key)

// Check if a key is in the cache, without updating the recent-ness or deleting it for being stale.
cache.has(key)

// Delete a key from the cache
cache.del(key)

// Return total length of objects in cache taking into account
cache.size()

// Manually iterates over the entire cache proactively pruning old entries
cache.prune()

Related Repositories

Track

Track

Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCac ...

python-diskcache

python-diskcache

Python disk backed cache (Django-compatible). ...

ISDiskCache

ISDiskCache

LRU disk cache for iOS. ...

Fuse

Fuse

The simple generic LRU memory/disk cache for Android written in Kotlin ...

XDroidCache

XDroidCache

二级缓存框架,包括内存缓存于磁盘缓存,两者均使用Lru(近期最少使用算法),轻松为你的应用接入缓存机制 ...