koa-session-memcached
Version:
A Memcached session thing for Koa
68 lines (52 loc) • 1.07 kB
JavaScript
/**!
* koa-session - index.js
* Made in 2016
* MIT Licensed
*
* Authors:
* joe-tom <josepht404gmail.com>
*/
;
/**
* Module dependencies.
*/
var EventEmitter = require('events').EventEmitter;
var Memcached = require('node-memcached');
/*
@param options
- {Object} memcached
-
*/
module.exports = function MemcachedStore(options){
//Make sure we can access the prototype functions..
if (!(this instanceof MemcachedStore)) {
return new MemcachedStore(options);
}
this.memcached = options.memcached;
}
/*
* Get
*/
MemcachedStore.prototype.get = function(sid){
var _this = this;
return new Promise(function(resolve,reject){
_this.memcached.gets(sid, (err, data) => {
if(err)
reject(err);
else
resolve(data);
});
});
}
/*
* Set
*/
Memcached.prototype.set = function(sid,sess,ttl){
this.memcached.set(sid,sess,parseFloat(ttl)/1000);
}
/*
* Destroy
*/
Memcached.prototype.destroy = function(sid){
this.memcahed.del(sid);
}