var memcache = thinkRequire("MemcacheSocket"); module.exports = Cache(function(){ "use strict"; var instance = null; return { namePrefix: "__thinkjs__", init: function(options){ this.super_("init", options); if (!instance) { instance = memcache(C('memcache_port'), C('memcache_host')); } this.handle = instance; }, get: function(name){ return this.handle.get(this.namePrefix + name).then(function(value){ return value ? JSON.parse(value) : value; }) }, set: function(name, value, timeout){ timeout = timeout || this.options.timeout; return this.handle.set(this.namePrefix + name, JSON.stringify(value), timeout); }, rm: function(name){ return this.handle.delete(this.namePrefix + name); } }; });