記得以前寫過一篇文章
redis實現搜尋排行榜
,今天在測試redis的時候,發現了其中的一處bug。
我們再統計搜尋排行榜的時候,用jedis.zrevrange()方法是不能按照score降序排列得到結果
setset=jedis.zrevrange("sort", 0, 6);
應該用zrevrangewithscores(string key,long start,long end)去獲取
簡單例子如下:
public mapzrevrangewithscores(string key,long start,long end)
for(tuple tuple : tuples)
} finally
//getjedispool().destroy();
return map;
}
//備註:得到結果應該由linkedhashmap去儲存。這樣可以保證排行榜的第一名儲存在第乙個位置。以此類推。 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通過計算查出來的,效率方面不太好。因此考慮對該功能進行公升級優化,並且新增週期性排行榜如月排行,總排行。在引入快取之後首先考慮的是通過快取實現熱門排行榜的功能,但是考慮到首次引入快取擔心快取...