redis排行榜例子

2021-08-08 11:04:22 字數 1010 閱讀 9908

# 1、儲存幾個排行榜成員資料(這裡可以理解為把自己系統已有資料載入到 redis 中)

zadd testtop 23 member1 25 member2

# 2、增加某個人的分數(這裡的分數就是排行的依據可以是浮點型別)

zincrby testtop 20 member1 # 此時 testtop 中 member1 的分數就程式設計了 43

zincrby testtop -10 member2 # 此時 testtop 中 member2 的分數就程式設計了 15

zincrby testtop 20 member3 # 此時向 testtop 中新增了 member3 成員,分數為 20

# 3、查詢排行榜前兩名,並且查詢出其分數【withscores 選項用於顯示分數,不帶該引數則只會查出成員名稱】

zrevrange testtop 0 1 withscores

#結果:

# 1) "member1"

# 2) "43"

# 3) "member3"

# 4) "20"

# 假設此時還有乙個 排行榜

zadd testtop2 100 member2 200 member3 123 member4

# 將 testtop testtop2 合成乙個總榜 top

zunionstore top 2 testtop testtop2

# 查詢總榜所有成員排**況

zrevrange top 0 -1 withscores

1) "member3"

2) "220"

3) "member4"

4) "123"

5) "member2"

6) "115"

7) "member1"

8) "43"

參考:  使用hash比使用key-value這種更省記憶體

redis應用場景

redis 優化查詢效能的實踐

redis 排行榜應用

我分享這個主要是因為 redis 的排行榜思路很讚 排行榜功能是乙個很普遍的需求。使用 redis 中有序集合的特性來實現排行榜是又好又快的選擇。一般排行榜都是有實效性的,比如 使用者積分榜 如果沒有實效性一直按照總榜來排,可能榜首總是幾個老使用者,對於新使用者來說,那真是太令人沮喪了。首先,來個 ...

redis排行榜相關

排行榜是業務開發中常見的乙個場景,如何設計乙個好的資料結構能夠滿足高效實時的查詢,下面我們結合乙個實際例子來討論一下。選手報名參加活動,觀眾可以對選手進行投票,每個觀眾對同一名選手只能投一票,活動期間最多投四票。後台需要提供如下介面 首先需要一張表儲存投票記錄,一次投票就是一條記錄。這張表相當於投票...

redis實現排行榜

排行榜功能是乙個很普遍的需求。設想在乙個遊戲中,有上百萬的玩家資料,如果現在需要你根據玩家的經驗值整理乙個前20名的排行榜,你會怎麼做呢?你不可能 order by limit 去實現 select from game socre order by score desc limit 0,20 使用 ...