[英]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.