我将Redis与我的node.js服务器一起用作简单的键/值数据库。
由于某种原因,我没有在Nodejs应用中获得所有键,例如模式“ Users:*”。我使用'client.keys'或'client.scan'。。但是,如果我通过redis-cli访问redis,则所有键都具有相同的Key-pattern。有人知道,这怎么可能?
这是扫描代码:
var cursor = '0';
scan(cursor);
var users = [];
function scan(cursor1) {
client.scan(cursor1,'MATCH', 'Users:*', function (err3, reply) {
cursor1 = reply[0];
if (cursor1 === '0') {
res.status(200).json(users);
} else {
reply[1].forEach(function (entry) {
client.get(entry, function (err, rep) {
if (err) throw err;
users.push(JSON.parse(rep));
});
});
scan(cursor1);
}
});
}
奇怪的事情是,如果我删除了一些键,有时我会得到以前丢失的键。感谢您的帮助!