Redis®*: 技術驗證

本文件是即時排名用戶指南的一部分。請在此處查看完整指南:學習如何使用 Redis 即時為 200 萬用戶按分數排名

👋 歡迎來到 Stackhero 文件中心!

Stackhero 提供即時可用的 Redis cloud 解決方案,帶來多項優勢,包括:

  • 內建 Redis Commander 網頁管理介面
  • 無限制的訊息大小與傳輸量。
  • 一鍵輕鬆完成更新
  • 透過專屬私有基礎架構,實現最佳效能與強大安全性

節省時間簡化您的工作流程:只需 5 分鐘即可體驗 Stackhero 的 Redis cloud hosting 解決方案!

Sorted sets 結合了鍵和分數。在我們的情況下,鍵是用戶 ID,分數代表用戶的積分。

我們開始啟動 Stackhero 上的 Redis 服務。該服務在 2 分鐘內即可啟動,提供最新穩定版本,按小時計費,並配有 Redis Commander,一個方便的網頁 GUI。我們使用此界面驗證了概念。

我們添加了三個用戶,示例 ID 和分數如下所示:

用戶名分數
userId111
userId254
userId324

這些用戶使用以下 Redis 命令添加到名為 usersScores 的 sorted set 中:

ZADD usersScores 11 "userId1"
ZADD usersScores 54 "userId2"
ZADD usersScores 24 "userId3"

Redis Commander,Stackhero 上提供的 Redis 實例的網頁 GUIRedis Commander,Stackhero 上提供的 Redis 實例的網頁 GUI

接下來,我們檢索 userId1 的分數:

ZSCORE usersScores "userId1"
> 11

這確認了 userId1 的分數確實是 11。之後,我們檢查了 userId1 的排名:

ZREVRANK usersScores "userId1"
> 2

請記住,排名從 0 開始。這意味著排名如下:

用戶名分數排名
userId1112
userId2540
userId3241

命令 ZREVRANK 返回了 2,這正是我們對 userId1 的預期。

您還可以獲取頂部條目。例如,要檢索前 2 名用戶(從排名 0 到排名 1),請運行:

ZREVRANGE usersScores 0 1 WITHSCORES
> 1) userId2
> 2) 54
> 3) userId3
> 4) 24

要獲取前 100 名用戶,只需運行:

ZREVRANGE usersScores 0 99 WITHSCORES

這種方法高效且非常適合高性能即時排名。