上一篇已经正常安装了memcached和开启了memcached服务,接下来在pomelo中使用memcached
{ "development": [ "127.0.0.1:11211" ], "production": [ "127.0.0.1:11211" ] }
然后在app中创建一个memcached.js
/** * Created by Mic on 16/1/11. */ var cachedClient = module.exports; var _mem; cachedClient.init = function (app) { if (!!_mem) { return cachedClient; } else { var M = require('memcached'); console.log(app.get('memcached')); _mem = new M(app.get("memcached"), {compressionThreshold: 10}); return cachedClient; } }; cachedClient.set = function (key, args, cb) { console.log('memcached set ',key,args,cb); _mem.set(key, args, 0, function (err, result) { if (err) { console.error(err); } if (!!cb && typeof cb === 'function') { cb(err, result); } }); }; cachedClient.get = function (key, cb) { console.log('memcached get ',key,cb); _mem.get(key, function (err, result) { console.log('#get ',err,result); if (err) { console.error(err); } if (!!cb && typeof cb === 'function') { cb(err, result); } }); }; cachedClient.del = function (key, cb) { _mem.del(key, function (err, result) { if (err) { console.error(err); } if (!!cb && typeof cb === 'function') { cb(err, result); } }); };
最后在app.js中添加配置
//add for memcached app.configure('production|development',function(){ app.loadConfig('memcached',app.getBase()+'/config/memcached.json'); var memclient = require('./app/dao/memcached/memcached').init(app); app.set('memclient',memclient); });
使用
//test var pomelo = require('pomelo'); var mem = pomelo.app.get('memclient');
mem.set('userName',uid); mem.get('userName',function(err,data){ console.log('MEMCACHED ',data); });