簡體   English   中英

Node.js redis 客戶端。 如何將 smember 與模式一起使用?

[英]Node.js redis client. how can i use smember with a pattern?

我已經存儲了一些具有如下模式的鍵:'user:id'

id 是唯一的。

現在我要讓所有鍵都以“用戶”開頭,並獲取它們的值。

這是我獲取值的代碼,但它給了我一個空列表。

const { createClient } = require('redis');

async function redisCatch() {
    const client = createClient();

    client.on('error', (err) => console.log('Redis Client Error', err));
    
    await client.connect();

    const value = await client.sMembers('user:*');
    console.log(value);
};

redisCatch();

Redis SMEMBERS不允許您輸入鍵的正則表達式值。 文檔 您可以使用SCAN做您想做的事。 示例代碼:

const { createClient } = require('redis');

async function redisCatch() {
    const client = createClient();
    client.on('error', (err) => console.log('Redis Client Error', err));
    await client.connect();

    for await (const key of client.scanIterator({ MATCH: 'user:*' })) {
      const value = await client.sMembers(key);
      console.log(value);
    }
};


(async () => {
    await redisCatch();
})();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM