Redis®*: Node.jsを使用したRedisコード例

このドキュメントはユーザーをリアルタイムでランク付けするガイドの一部です。完全なガイドはこちらからご覧いただけます:Redisを使用して2百万ユーザーをスコアでリアルタイムにランク付けする方法を学ぶ

👋 Stackheroのドキュメントへようこそ!

Stackheroは、数多くの利点を提供する、すぐに使えるRedisクラウドソリューションを提供しています。

  • Redis Commander Web UIを含む。
  • メッセージサイズと転送が無制限
  • ワンクリックで簡単にアップデート
  • プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ

時間を節約し、生活を簡素化:StackheroのRedisクラウドホスティングソリューションを試すのに5分しかかかりません!

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 has ' + score + ' points');

  // userId1のランク位置を取得
  const rankPosition = await redis.zrevrank('usersScores', 'userId1');
  console.log('userId1 is ranked at position ' + rankPosition);

  // Redisから切断
  await redis.disconnect();
})();

このシンプルでありながら強力なコードスニペットは、リアルタイムのランキングデータを管理するのに理想的です。