pomelo下memcached的安装以及使用(二)

上一篇已经正常安装了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);
});


你可能感兴趣的:(JavaScript,memcached,服务器,pomelo)