0.4.6 • Published 8 years ago
rethinkdb-cache v0.4.6
rethinkdb-cache
RDB warm cache module based upon https://gist.github.com/threepointone/62dd587d42819fc72284
How to use?
- Run tests:
npm install && npm test
- Install it:
npm install --save rethinkdb-cache
NOTE: You can use yarn instead of npm if you like.
- Require it:
const rdbCache = require('rethinkdb-cache'),
rdbSettings = {
host: 'localhost',
port: '28015',
user: 'user',
password: 'password',
db: 'db',
timeout: 60
},
tableName = 'app_cache',
ttl = 24;
/**
* @params {object || arr} rdbSettings (optional)
* @params {string} tableName (optional)
* @params {integer} ttl (optional)
*
*/
const CACHE = new rdbCache(rdbSettings, tableName, ttl);
- rdbSettings: An object with your usual RethinkDB connection settings, if the DB does not exist, it will be created
- tableName: A string with the name of the table you want to use as cache table, if it does not exist, it will be created
ttl: An integer representing the maximum time (in hours) objects should be stored in cache before being completely flushed in order to be fully recreated instead of warmly updated
Usage:
const data = {"name": "foobar"}
if (!CACHE.retrieve("some-key")) {
// Not-in-cache-logic goes here...
CACHE.send("some-key", data);
}
else {
// Return from cache
const myData = JSON.parse(CACHE.retrieve("some-key")).val;
return myData;
}