williscool / async-disk-cache

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

async-disk-cache Build status Build Status

An aync disk cache. inspired by jgable/cache-swap

A sync sibling version is also available: stefanpenner/sync-disk-cache

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,
    path: 'foo',
    value: 'content of foo'
  }
});

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

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

// clearing the cache

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

Enable compression:

var Cache = require('sync-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`)
})

License

Licensed under the MIT License, Copyright 2015 Stefan Penner

About


Languages

Language:JavaScript 100.0%