Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cacheman-promise

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cacheman-promise

cacheman with a promise interface.

  • 1.6.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Cacheman-Promise

NPM version Downloads Build Status Dependency Status Coverage Status

NPM

Cacheman library with a promise interface.

Installation

$ npm install --save cacheman-promise

Usage

Cacheman-promise only support set, get, del, clear, pull and wrap promise interface.

Cacheman([name, [options]])

Please refer to Cacheman Options API

var Cacheman = require('cacheman-promise');

var options = {
  ttl: 90,
  engine: 'redis',
  port: 9999,
  host: '127.0.0.1'
};

var cache = new Cacheman('todo', options);
// or
var cache = new Cacheman(options);

cache.set(key, value, [ttl, [fn]])

Usage:

var key = 'foo';
var data = 'bar';

cache.set(key, {name: data})
  .then(function(val){
    // output "{name: 'bar'}"
    console.log(val);
  });

cache.get(key, fn)

You can pass array or string as key.

Usage:


cache.set('foo', 'bar');

cache.get('foo')
  .then(function(val){
    // output "bar"
    console.log(val);
  });

pass array as multiple keys

Usage:


cache.set('foo', 1);
cache.set('bar', 2);

cache.get(['foo', 'bar'])
  .then(function(result){
    // output {"foo": 1, "bar": 2}
    console.log(result);
  });

cache.pull(key, default)

If you need to retrieve an item from the cache and then delete it, you may use the pull method. Like the get method, null will be returned if the item does not exist in the cache.

cache.set('foo', 'bar');

cache.pull('foo')
  .then(function(result){
    // output 'bar'
    console.log(result);
  }).then(function() {
    return cache.get('foo');
  }).then(function(result) {
    // output 'null'
    console.log(result);
  });

You can pass default value as second paramaeter if the item doesn't exist in the cache.

// make sure `foo` cache doesn't exist.
cache.del('foo');

cache.pull('foo', 'bar')
  .then(function(result){
    // output 'bar'
    console.log(result);
  });

cache.del(key, [fn])

You can pass array or string as key.

Usage:

cache.del('foo')
  .then(function(){
    console.log('foo was deleted');
  });

or

cache.del(['foo', 'bar'])
  .then(function(){
    console.log('foo and bar was deleted');
  });

Clear some items with prefix name:

cache.clear('foo*')
  .then(function(){
    console.log('clear cache with `foo` prefix name like `foo1`, `foo2` etc.');
  });

cache.clear([fn])

Clear all cache as follwoing:

cache.clear()
  .then(function(){
    console.log('cache is now clear');
  });

cache.wrap(key, default, [ttl, [fn]])

Wraps a function in cache. I.e., the first time the function is run, its results are stored in cache so subsequent calls retrieve from cache instead of calling the function.

var key = 'foo';
var data = 'bar';

cache.wrap(key, data)
  .then(function(val) {

    // get foo key from cache
    return cache.get(key);
  }).then(function(val) {

    // output 'bar'
    console.log(val);
  });

Run tests

$ npm test

Keywords

FAQs

Package last updated on 20 Dec 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc