nodejs 操作redis sentinel(哨兵模式)
conf/config.js文件
/*
* author andy
* date 2017-7-3
* description 设置信息
*/
module.exports = {
//环境选择,可选值 dev prod
'env': 'dev',
'redisService': {
'dev': {
'service': {
'host': '192.168.8.89',
'port': '6379'
},
'auth': 'andy1818',
'orderdb': 3,
'accessdb': 4,
'masterName':'mymaster', //集群mastername
//哨兵连接
'sentinels': [{
host: '192.168.1.16',
port: 26380
},
{
host: '192.168.1.16',
port: 26381
},
{
host: '192.168.1.16',
port: 26379
}
]
}
}
};
redisClient.js文件
var redis = require('redis-sentinel');
var config = require('../conf/config');
/*
* 订单存储
*/
module.exports.redisSet = function(dbnum, key, message, callback) {
try {
var opts = {
auth_pass: config.redisService[config.env].auth,
db: 3,
};
var client = redis.createClient(config.redisService[config.env].sentinels, config.redisService[config.env].masterName, opts);
// node_redis的相关属性设置
client.select(dbnum, function(err) {
if (err) {
console.log('err:', err);
callback('');
return false;
}
client.set(key, JSON.stringify(message), function(error, res) {
client.quit();
if (error) {
console.log(error);
callback('');
return;
} else {
callback('success');
};
});
});
client.on('end', function(err) {
if (err) {
console.log('redis sentinels quit is err:', err);
}
});
} catch (e) {
console.log("redisClient", e);
callback('');
return false;
}
};
module.exports.redisGet = function(dbnum, key, callback) {
try {
var opts = {
auth_pass: config.redisService[config.env].auth