Я пытаюсь установить соединение с Redis, у меня есть «главный» порт и два подчиненных. Я хочу сделать это с Sentinel.
Мой код для подключения Redis на самом деле устарел, я так думаю.
Вот мой код.
var redis = require('redis');
var client = redis.createClient(config.redis_port, config.redis_host,
{no_ready_check: true});
if (config.redis_password != null) {
client.auth(config.redis_password, function (err) {
if (err) throw err;
});
}
client.on('connect', function(err, res) {
logger.info('Connected to Redis ' + process.pid);
redisIsReady = true;
});
client.on('error', function(err) {
logger.error('Error connecting to Redis ' + process.pid);
redisIsReady = false;
});
client.get(objectRequest.customerId, function(err, reply) {
if (reply != null && reply >= config.max_requests) {
var json = JSON.stringify({errorCode: validationErrors.TOO_MANY_REQUEST,
description: errorMessage[validationErrors.TOO_MANY_REQUEST]});
res.setHeader('Retry-After', config.retry_after);
res.setHeader('Content-Type', 'application/json');
res.setHeader('Content-Length', json.length);
res.writeHead(429);
res.write(json);
return res.end();
}
// Set a value with an expiration
client.incr(objectRequest.customerId);
client.expire(objectRequest.customerId, config.retry_after);
});
Я читаю другие сообщения и думаю, что, возможно, будет круто сделать это с ioredis. Но я мало знаю о Redis...
Я хочу подключиться к Redis, и если мастер не работает, он автоматически подключается к подчиненному.
Надеюсь, ты поможешь мне,
Рот.
objectRequest.customerId
, клиент может не подключиться к серверу и не аутентифицировать себя. - person Vishnu   schedule 08.06.2017