1、排行榜
話不多說直接上**
輸入:
zincrby rank 1 aaa
zincrby rank 2 bbb
zincrby rank 3 ccc
zincrby rank 4 ddd
zincrby rank 5 eee
zrevrange rank 0 4 withscores
輸出: 1) "eee"
2) "5"
3) "ddd"
4) "4"
5) "ccc"
6) "3"
7) "bbb"
8) "2"
9) "aaa"
10) "1"
2.計數器
注:incr命令是原子性的
3.限速器
限速器是一種可以限制某些操作執行速率的特殊場景。
假設我們要解決如下問題:限制某個api每秒每個ip的請求次數不超過10次。
實現方案:
第一步:設定乙個key,然後給個過期時間1秒
第二部:乙個ip訪問時給這個key執行incr命令
第三部:給個分支判斷
redis實現排行榜
排行榜功能是乙個很普遍的需求。設想在乙個遊戲中,有上百萬的玩家資料,如果現在需要你根據玩家的經驗值整理乙個前20名的排行榜,你會怎麼做呢?你不可能 order by limit 去實現 select from game socre order by score desc limit 0,20 使用 ...
Redis 實現排行榜
不再介紹資料庫做實時排行榜的弊端,直接介紹redis的有序集合的強大作用。有序集合的資料和集合一樣,不能重複,但每個元素又可以關聯乙個分數,這個分數可以重複。需要注意的是,redis版本和命令變化較大,注意執行環境。執行環境 redis 庫版本 3.3.11 redis版本 3.2.1 生成資料 i...
熱門排行榜 redis實現
最近專案架構公升級,主要對效能方面進行公升級。之前熱門排行榜是通過對點讚量,閱讀量,收藏量等一系列的資料在db通過計算查出來的,效率方面不太好。因此考慮對該功能進行公升級優化,並且新增週期性排行榜如月排行,總排行。在引入快取之後首先考慮的是通過快取實現熱門排行榜的功能,但是考慮到首次引入快取擔心快取...