async-disk-cache
An async disk cache. inspired by jgable/cache-swap
A sync sibling version is also available: stefanpenner/sync-disk-cache
By default, this will usge TMPDIR/<username>/
for storage, but this can be changed by setting the $TMPDIR
environment variable.
Example
var Cache = ;var cache = 'my-cache';// 'my-cache' also serves as the global key for the cache.// if you have multiple programs with this same `cache-key` they will share the// same backing store. This by design. // checkingcache; // retrieving (cache hit)cache; // retrieving (cache miss)cache; // settingcache; // clearing one entry from the cachecache // clearing the whole cachecacheclear
Enable compression:
var Cache = ;var cache = 'my-cache' compression: 'gzip' | 'deflate' | 'deflateRaw' // basically just what nodes zlib's ships with supportBuffer: 'true' | 'false' // add support for file caching (default `false`)
HELP!...my TMP dir is growing unbounded!
description
In general most OS distributions come with cron like tasks, which purge unused files in $TMPDIR
. For example, ubuntu typically uses tmpreaper
and macOS uses various tasks in /etc/periodic/*
.
options
If your OS distribution does not provide such a cleanup mechanism:
a) We stronglly recommend utilizing one, as other sync-disk-cache is not alone in rely on this behavior
b) If that is not possible, we recommend changing your $TMPDIR
to something project specific and manually purging it.
License
Licensed under the MIT License, Copyright 2015 Stefan Penner