nodejs获取redis集合内容,同步方法

发布时间 2023-03-22 21:09:20作者: 盘思动

可以使用redis模块来连接和操作Redis数据库。以下是使用该模块获取Redis集合内容的同步方法:

// 引入redis模块
const redis = require('redis');
// 创建redis客户端
const client = redis.createClient();

// 获取集合内容
function getSetContents(setName) {
  return new Promise((resolve, reject) => {
    // 以同步方式获取集合内容
    client.smembers(setName, (err, members) => {
      if (err) {
        reject(err);
      } else {
        resolve(members);
      }
    });
  });
}

// 使用示例
(async () => {
  try {
    const members = await getSetContents('myset');
    console.log(members);
  } catch (err) {
    console.error(err);
  } finally {
    // 关闭redis客户端连接
    client.quit();
  }
})();

在上面的示例中,getSetContents函数返回一个Promise对象,
它使用smembers方法从Redis中获取指定集合的内容,
并将结果作为回调函数的第二个参数传递。
如果发生错误,它将拒绝Promise并将错误传递给调用方。
否则,它将解决Promise并将集合成员作为解决值传递。

注意,在使用Redis模块时,需要创建一个Redis客户端并使用它来执行Redis命令。
在示例中,我们创建一个Redis客户端并使用quit方法关闭连接。