0
我有以下设置来设置和从上面从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 = NULL和数据= 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