Redis®*: Node.jsを使用したRedisコード例
このドキュメントはユーザーをリアルタイムでランク付けするガイドの一部です。完全なガイドはこちらからご覧いただけます:Redisを使用して2百万ユーザーをスコアでリアルタイムにランク付けする方法を学ぶ。
👋 Stackhero ドキュメントへようこそ!
Stackhero では、すぐに使える Redis cloud ソリューションをご提供しています。主な特長は以下の通りです:
Redis CommanderWeb UI を標準搭載。- メッセージサイズ・転送量が無制限。
- ワンクリックで簡単にアップデート可能。
- プライベートかつ専用インフラによる最適なパフォーマンスと強固なセキュリティ。
時間を節約し、運用をシンプルに:Stackhero の Redis cloud hosting ソリューションは、わずか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();
})();
このシンプルでありながら強力なコードスニペットは、リアルタイムのランキングデータを管理するのに理想的です。