appc-cache
v0.0.2
Published
AppC cache client library
Readme
Appcelerator Cache Client library 
The library makes it easy to use the Appcelerator Cache API Service. This library is meant to act as a drop-in replacement for the Node Redis Client Library.
Installation
npm install appc-cache --saveUsage
You must first include the library and create an instance. At a minimum, you must pass in the key and secret values for constructing the client.
var Cache = require('appc-cache'),
cache = new Cache({
key: 'MY_KEY',
secret: 'MY_SECRET'
});Once you have created the client instance, you can use it. This library is (generally) compatible with the Redis API.
cache.set('key', 'value', function (err) {
// set the value
});
cache.get('key', function (err, value) {
console.log('cached value is', value);
});Redis Client emulation
This library emulates the same API as the redis client. For example:
var redis = require('appc-cache');
var client = redis.createClient({
key: 'key'
});
client.auth('secret');
var multi = client.multi();
multi.echo('OK', redis.print);
multi.exec();Using as an Express Session Store
This library provides an Express compatible session store implementation. Example usage:
var app = express(),
session = require('express-session'),
Cache = require('appc-cache'),
CacheStore = Cache.createSessionStore(session),
options = {
key: 'mykey',
secret: 'mysecret',
ttl: 2000
};
app.use(session({
store: new CacheStore(options),
secret: 'keyboard cat',
resave: false,
saveUninitialized: false
}));Using Distributed Locks
This library supports distributed locks. With a distributed lock, only one client can acquire a named lock at a time for a specified duration.
cache.lock('my.lock', 10000, function (err, lock) {
cache.unlock(lock);
});You can extend the lock with the extend method. For example:
cache.lock('my.lock', 10000, function (err, lock) {
// extend the lock another 10 sec
cache.extend(lock, 10000);
cache.unlock(lock);
});APIs that are not supported
There are a number of APIs that are not support or not allowed. For example, this library does not support shutdown. For a full list of commands, see the file lib/blacklist.js.
Running the Unit Tests
You can run the unit tests by setting the value of the following environment variables APPC_TEST_KEY and APPC_TEST_SECRET to the values to use for caching. For example:
APPC_TEST_KEY=kkkkkkkkkkkkkkkkkkkkkkkkk APPC_TEST_SECRET=ssssssssssssssssssssssss gruntLicense
The library is Confidential and Proprietary to Appcelerator, Inc. and licensed under the Appcelerator Software License Agreement. Copyright (c) 2015 by Appcelerator, Inc. All Rights Reserved.
