首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有匹配模式的ioredis键

具有匹配模式的ioredis键
EN

Stack Overflow用户
提问于 2019-09-21 05:58:21
回答 2查看 2.6K关注 0票数 2

我想搜索红色数据库与键匹配模式‘登录::’。我在我的申请中使用了ioredis。昨天,我搜索了整个网络,没有几个选项可以这样做:

钥匙

scanStream

发行:

代码语言:javascript
复制
import Redis from 'ioredis'

var Client = new Redis()

Client.scanStream <---- Missing

scanStream方法在Redis实例中缺失,或者如果我做错了什么,请告诉我。

EN

回答 2

Stack Overflow用户

发布于 2020-08-19 08:15:42

因此,这是一个示例代码,将给您一个广泛的想法。所以你可以用红宝石提供的两样东西。首先是键函数,由于其O(N)的复杂性,不能使用它。此示例在流中使用扫描命令,即一个接一个具有不同光标位置的扫描命令。它将扫描整个红色,但将返回10个结果一次,这将不会拖住红色的钥匙功能将有。我们将把所有的键推到键数组中,然后可以循环遍历所有的键,然后使用GET命令获取每个键的值。

代码语言:javascript
复制
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);
                    });
票数 3
EN

Stack Overflow用户

发布于 2019-11-20 02:35:30

给你举个例子。

代码语言:javascript
复制
const stream = redis.scanStream()
stream.on("data", async (keys) => {
  // do what you need
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58037669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档