async-disk-cache

WebJar for async-disk-cache

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

async-disk-cache
Last Version

Last Version

1.3.5
Release Date

Release Date

Type

Type

jar
Description

Description

async-disk-cache
WebJar for async-disk-cache
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/stefanpenner/async-disk-cache

Download async-disk-cache

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/async-disk-cache/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>async-disk-cache</artifactId>
    <version>1.3.5</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/async-disk-cache/
implementation 'org.webjars.npm:async-disk-cache:1.3.5'
// https://jarcasting.com/artifacts/org.webjars.npm/async-disk-cache/
implementation ("org.webjars.npm:async-disk-cache:1.3.5")
'org.webjars.npm:async-disk-cache:jar:1.3.5'
<dependency org="org.webjars.npm" name="async-disk-cache" rev="1.3.5">
  <artifact name="async-disk-cache" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='async-disk-cache', version='1.3.5')
)
libraryDependencies += "org.webjars.npm" % "async-disk-cache" % "1.3.5"
[org.webjars.npm/async-disk-cache "1.3.5"]

Dependencies

compile (7)

Group / Artifact Type Version
org.webjars.npm : rimraf jar [2.5.3,3)
org.webjars.npm : username-sync jar [1.0.2,2)
org.webjars.npm : rsvp jar [3.0.18,4)
org.webjars.npm : debug jar [2.1.3,3)
org.webjars.npm : istextorbinary jar [2.1.0]
org.webjars.npm : heimdalljs jar [0.2.3,0.3)
org.webjars.npm : mkdirp jar [0.5.0,0.6)

Project Modules

There are no modules declared in this project.

async-disk-cache Build status Build Status

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 = require('async-disk-cache');
var cache = new 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.

// checking
cache.has('foo').then(function(wasFooFound) {

});

// retrieving (cache hit)
cache.get('foo').then(function(cacheEntry) {
  cacheEntry === {
    isCached: true,
    key: 'foo',
    value: 'content of foo'
  }
});

// retrieving (cache miss)
cache.get('foo').then(function(cacheEntry) {
  cacheEntry === {
    isCached: false,
    key: 'foo',
    value: undefined
  }
});

// setting
cache.set('foo', 'content of foo').then(function() {
  // foo was set
});

// clearing one entry from the cache
cache.remove('foo').then(function() {
  // foo was removed
})

// clearing the whole cache
cache.clear().then(function() {
  // cache was cleared
})

Enable compression:

var Cache = require('async-disk-cache');
var cache = new 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

Versions

Version
1.3.5
1.3.3