/** * Redis客户端封装。 * * 注意Redis使用Promises保证调用流程。 * * https://github.com/NodeRedis/node_redis * * author: linzhuo * since: 2016/12/09 */ "use strict"; let redis = require('redis'); let Promise = require('bluebird'); let configFile = require('../../include/commons').CONFIG_FILE; let config = require('../../resources/config/' + configFile); let log = require("../../util/log.js"); let redisClient = null; // 启用promises Promise.promisifyAll(redis.RedisClient.prototype); Promise.promisifyAll(redis.Multi.prototype); class RedisClient { constructor() { this._connection = redis.createClient( config.redisConfig ); this._connection.on('ready', function (res) { log.info('Redis is ready.'); }); } get connection() { return this._connection; } static redisClient() { if (redisClient == null) { redisClient = new RedisClient(); } return redisClient; } } module.exports = RedisClient;