解決百萬用戶量積分排名

前情提要:利用redis的zset數(shù)據(jù)類型可以解決少量用戶實(shí)時(shí)積分排行的問題,但是用戶量達(dá)到百萬級(jí)后,內(nèi)存會(huì)撐不住。

實(shí)時(shí)排名:
如果積分最大值不高,比如說最大5000積分左右,那么可以用桶排序,占用的內(nèi)存不算大。
一個(gè)積分代表一個(gè)桶,每個(gè)桶里面裝了一個(gè)計(jì)數(shù)的數(shù)字。比如(score-10000->10這種k-v鍵值對(duì),表示10000積分的有10個(gè)人)

如果說積分最大值比較高,比如說一百萬,桶排序也會(huì)很占內(nèi)存。那么照這個(gè)思路,可以存數(shù)據(jù)庫,0-50000一個(gè)表,分20個(gè)表,用聚合函數(shù)SUM()協(xié)助統(tǒng)計(jì)每個(gè)表的人數(shù),以此統(tǒng)計(jì)排名。

桶排序參考:http://novoland.github.io/%E7%AE%97%E6%B3%95/2014/07/26/%E6%A1%B6%E6%8E%92%E5%BA%8F%E5%9C%A8%E6%8E%92%E8%A1%8C%E6%A6%9C%E9%97%AE%E9%A2%98%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8.html

http://www.cnblogs.com/skywang12345/p/3602737.html

非實(shí)時(shí)排名:
若非實(shí)時(shí)的話,可以每天跑一次數(shù)據(jù)庫,做一張積分排名表。每個(gè)分?jǐn)?shù)對(duì)應(yīng)一個(gè)排名。

非實(shí)時(shí)且只需前10000名:
這個(gè)比較簡單,存數(shù)據(jù)庫或內(nèi)存都可以

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • @synthesize和@dynamic分別有什么作用?@property有兩個(gè)對(duì)應(yīng)的詞,一個(gè)是 @synthes...
    筆筆請(qǐng)求閱讀 640評(píng)論 0 1
  • 【Aipm引導(dǎo)頁】 https://58976235.wodemo.net/down/20170514/44034...
    Mr_洛寒閱讀 2,908評(píng)論 3 5
  • 它,蠱惑眾生的根源 源于它的撲朔迷離 它,惶惶人心的背后 來自它看似輕薄的黑紗 死,不可怕 亡,并不可懼 它來的疾...
    MINGAINI閱讀 186評(píng)論 0 0
  • 今天情人節(jié),一個(gè)充斥著愛與鮮花,洋溢著親吻和情話的日子。 但沒有了情人,這樣的日子怎樣過都毫無意義,頂多是看到別人...
    暖先森閱讀 20,412評(píng)論 5 26

友情鏈接更多精彩內(nèi)容