catbox-aerospike
v2.0.0
Published
Aerospike adapter for catbox
Downloads
14
Readme
catbox-aerospike
Caching Adapter for Aerospike for catbox
Versions
v 2.x.x
:node v 4.x.x
andaerospike client v 2.x.x
v 1.x.x
:node v 4.x.x
andaerospike client v 1.x.x
v 0.x.x
:node v 0.10.x
andaerospike client v 1.x.x
Installation
$ npm install catbox-aerospike --save
Options
hosts
- Array of Aerospike serversaddr
- Aerospike server hostname. Defaults to'127.0.0.1'
.port
- Aerospike server port or unix domain socket path. Defaults to3000
.
partition
- corresponds to Aerospike namespace. Defaults totest
segment
- corresponds to Aerospike set. Defaults totest
NOTE Aerospike Namespaces are configured when the cluster is started, and cannot be created at runtime. Default Aerospike namespace is test
. However, Catbox intializes adapters with default partition name catbox
, if no partition name is configured. Please refer to Namespace Configuration to use appropriate namespace.
Initialization
const Hapi = require('hapi');
const server = new Hapi.Server({
cache: [
{
name: 'aeroCache',
engine: require('catbox-aerospike'),
partition: 'cache'
host: [
{
addr: '127.0.0.1',
port: 3000
}
]
}
]
});
Using Glue Manifest JSON:
{
"server": {
"app": {
...
},
"connections": {
...
},
"cache": {
"name": "aeroCache"
"engine": "catbox-aerospike"
"partition": "cache"
"hosts": [
{
"addr": "127.0.0.1",
"port": 3000
}
]
}
},
"connections": {
...
},
"plugins": {
...
}
}
Usage
const add = function (a, b, next) {
return next(null, Number(a) + Number(b));
};
server.method('sum', add, {
cache: {
cache: 'aeroCache',
expiresIn: 30 * 1000,
generateTimeout: 100
}
});
server.route({
path: '/add/{a}/{b}',
method: 'GET',
handler: function (request, reply) {
server.methods.sum(request.params.a, request.params.b, function (err, result) {
reply(result);
});
}
});
Tests
The test suite expects an Aerospike server to be running on port 3000. Refer to Aerospike Installation guide OR run Aerospike server in a Docker container
// Running Aerospike Server
$ docker run -it -d -p 3000:3000 aerospike/aerospike-server
// Running Tests
$ npm test