У меня есть следующие настройки, чтобы установить и проверить значение от Redisне удается получить Redis данные, но можно написать REDIS
var ttl = '60';
function someRandom(value, callback){
client.exists(value, function check(err, data){
if(data === 0){
//do functionality
client.set(value,'nx','ex',ttl, function(err,data){
callback(null);
});
}else{
client.incr(value);
callback(null);
}
})
}
Теперь сверху, нет никакой проблемы в установке значения. Согласно функции exists
, если это значение существует, оно возвращает «1», и в противном случае оно возвращает «0». Но когда я проверяю аналогичное значение в redis, он возвращается как «0», когда он уже существует.
Добавление подробнее
Когда я проверить значение на второй попытки, ERR = нуль и данные = 0, когда оно должно быть «1», как уже существует значение.
Также с помощью Redis-Cli команды возвращает 1
ioredis конфигурации выглядит следующим образом
db0: new Redis({
sentinels: endpoints,
name: REDIS_SENTINEL_MASTER_NAME,
db: 0
}),
db1: new Redis({
sentinels: endpoints,
name: REDIS_SENTINEL_MASTER_NAME,
db: 1
}),
sub: new Redis({
sentinels: endpoints,
name: REDIS_SENTINEL_MASTER_NAME,
db: 0
}),
pub: new Redis({
sentinels: endpoints,
name: REDIS_SENTINEL_MASTER_NAME,
db: 0
})
где senitelname является mymaster
Вам необходимо предоставить более подробную информацию. Что происходит с использованием 'redis-cli', работает ли он нормально? Какие значения вы получаете в 'data'? Вы уверены, что 'node-redis' вернет целое число 0? Это может быть иначе, чем 'cli'. – Russbear
@Russbear жаль, что я не использую node-redis, используя ioredis и используя redis-cli его возвращает 1 для ключа – RRP
Вам нужно больше узнать о том, какие значения вы получаете от 'err' и' data', что CLI дает вам, и как выглядит ваш конфиг 'ioredis'. – Russbear