Redis®*: 使用 Node.js 的 Redis 代码示例

本文件是实时排名用户指南的一部分。您可以在这里查看完整指南:学习如何使用 Redis 实时为 200 万用户按分数排名

👋 欢迎来到 Stackhero 文档!

Stackhero 提供即用型 Redis 云 解决方案,带来众多优势,包括:

  • 包含 Redis Commander 网页界面
  • 无限消息大小和传输。
  • 只需点击即可轻松更新
  • 私有和专用 VM提供的最佳性能和强大安全性

节省时间简化生活:只需 5 分钟即可试用 Stackhero 的 Redis 云托管 解决方案!

在 Redis Commander 中验证概念后,是时候将 Redis 集成到实际代码中了。我们的客户使用 Node.js,以下是使用 ioredis 作为客户端的示例:

const Redis = require('ioredis');

(async () => {
  // 设置 Redis 凭证
  // 如果您使用 Stackhero,您将在 Stackhero 仪表板上找到这些
  const redis = new Redis({
    host: '<redisServerHost>',
    password: '<redisServerPassword>',
    port: <PORT_TLS>, // <PORT_CLEAR> 用于非加密连接,<PORT_TLS> 用于 TLS。应使用 TLS。
    tls: {}, // 提供一个空对象以激活 TLS
    lazyConnect: true
  });

  // 连接到 Redis
  await redis.connect();

  // 添加用户
  await redis.zadd('usersScores', 11, 'userId1');
  await redis.zadd('usersScores', 54, 'userId2');
  await redis.zadd('usersScores', 24, 'userId3');

  // 检索 userId1 的分数
  const score = await redis.zscore('usersScores', 'userId1');
  console.log('userId1 有 ' + score + ' 分');

  // 检索 userId1 的排名位置
  const rankPosition = await redis.zrevrank('usersScores', 'userId1');
  console.log('userId1 排名在位置 ' + rankPosition);

  // 从 Redis 断开连接
  await redis.disconnect();
})();

这个简单而强大的代码片段非常适合管理实时排名数据。