1.0.22 • Published 9 years ago

pcacher v1.0.22

Weekly downloads
1
License
ISC
Repository
github
Last release
9 years ago

Pcacher

Promisified cache for nodejs. Work on top of Redis. Also support in memory cache.

Install

npm install pcacher

Basic usage

var pcacher = require('pcacher');
var cache = pcacher({
  redis: {port: 6379, host: '127.0.0.1'}, // Redis config
  ttl: '2h', // optional. default TTL. See https://github.com/rauchg/ms.js
  ns: 'pcacher' // optional. Prefix for keys in redis. Default is 'pcacher'
});

cache.memoize('key', function () {
  return 'value';
}).then(function (val) {
  val === 'value'; // true
});

Value

Value can be a function (can return a promise) or promise or any JSON-serialized object.

cache.memoize('key', '15min', function () {
  somePromisifiedQueryToDb(); // should return a promise, this query will be cached for 15 min
}).then(function (val) {
  console.log(val);
});

cache.memoize('key', '15min', function () {
  return {a: 1};
}).then(function (val) {
  console.log(val); // {a: 1}
});

Options

Options can be a object, in this case it will be interpreted as list of options. Or it can be String or Number, in this case it will be interpreted as TTL. There are follow options:

  • ns
  • reset
  • memory
  • ttl String or Number of seconds. If a string, use follow patterns '2h' or '15min'. More detailed here.
  • nocache Boolean. Use it to off cache
cache.memoize('key', {
  ns: 'my_namespace',
  reset: true, // Reset stored value, resave it
  memory: true, // Store data in memory, NOT in Redis
  nocache: true, // Off caching
  ttl: 60 // TTL is 60 seconds, equal '1m'
}, function () {
  return 'value';
}).then(function (val) {
  val === 'value'; // true
});
1.0.22

9 years ago

1.0.21

9 years ago

1.0.20

9 years ago

1.0.19

9 years ago

1.0.18

9 years ago

1.0.17

9 years ago

1.0.16

9 years ago

1.0.15

9 years ago

1.0.14

9 years ago

1.0.13

9 years ago

1.0.12

9 years ago

1.0.11

9 years ago

1.0.10

9 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago