我想搜索红色数据库与键匹配模式‘登录::’。我在我的申请中使用了ioredis。昨天,我搜索了整个网络,没有几个选项可以这样做:
钥匙
scanStream
发行:
import Redis from 'ioredis'
var Client = new Redis()
Client.scanStream <---- MissingscanStream方法在Redis实例中缺失,或者如果我做错了什么,请告诉我。
发布于 2020-08-19 08:15:42
因此,这是一个示例代码,将给您一个广泛的想法。所以你可以用红宝石提供的两样东西。首先是键函数,由于其O(N)的复杂性,不能使用它。此示例在流中使用扫描命令,即一个接一个具有不同光标位置的扫描命令。它将扫描整个红色,但将返回10个结果一次,这将不会拖住红色的钥匙功能将有。我们将把所有的键推到键数组中,然后可以循环遍历所有的键,然后使用GET命令获取每个键的值。
const redis = require('ioredis');
let stream = redis.scanStream({
match: "LOGIN::*",
count: 10
});
stream.on("data", async (keys = []) => {
let key;
for (key of keys) {
if (!keysArray.includes(key)) {
await keysArray.push(key);
}
}
});
stream.on("end", () => {
res(keysArray);
});发布于 2019-11-20 02:35:30
给你举个例子。
const stream = redis.scanStream()
stream.on("data", async (keys) => {
// do what you need
})https://stackoverflow.com/questions/58037669
复制相似问题