日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

实时排行榜的后台数据功能实现

發(fā)布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实时排行榜的后台数据功能实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

功能概要:數(shù)據(jù)定時更新,可查詢歷史數(shù)據(jù)。
詳細說明:1、現(xiàn)在有個排行榜需要幾分鐘更新一次,所以我使用了windows服務定時運行;一次的數(shù)據(jù)量在30萬左右,這樣可能到下次更新時本次的任務沒有運行完成,所以遇到這種情況就等待下次任務觸發(fā)時再運行更新。
? ? ? ? ? ? ? 2、當運行更新時,不斷有數(shù)據(jù)插入到榜單表,為了不影響當前顯示的榜單數(shù)據(jù),于是在榜單表加個狀態(tài)status(0/更新中,1/顯示中)。
? ? ? ? ? ? ? 3、當更新運行完成時,更新 status=status+1,這樣更新中的數(shù)據(jù)變?yōu)轱@示中,顯示中數(shù)據(jù)變?yōu)闅v史(歷史一會會講到)。

? ? ? ? ? ? ?

? ? ? 這個排行榜可以按日期查詢,就是可以選擇查看昨天,前天等等。這樣就必須每天保存榜單數(shù)據(jù),而每天會產(chǎn)生很多份榜單數(shù)據(jù),我想到取當天最后一次的數(shù)據(jù),但怎么確定最后一次的數(shù)據(jù)又是個問題,因為最后一份數(shù)據(jù)可能跨日期,那就取最后一份的上一份?也不行,一份數(shù)據(jù)是幾十萬,去按日期查詢肯定是相當慢;是不是可以每份數(shù)據(jù)存?zhèn)€版本號?這又要想辦法實現(xiàn)版本號的遞增,跨日期清零問題等等。再想想其實一天內我只需要一份完整的數(shù)據(jù),每次更新后我可以把上份刪掉了,然后在每天另存一份即可。有了這個思路,我在榜單表中的status字段再加個狀態(tài)(2/歷史)。
? ? ? 現(xiàn)在,當更新運行完成時,更新 status=status+1,status會出現(xiàn)2個值(1/顯示中,2/歷史),那如果再運行更新呢,會出現(xiàn)第3個值 3(這個值看起來可以做版本號了,呵呵,因為是遞增的)。但是status=3這個數(shù)據(jù)是我們不需要的,那每次更新完干脆刪除status=3的數(shù)據(jù)好了。
? ? ? 現(xiàn)在我創(chuàng)建一個榜單歷史表,結構與榜單表一樣,但沒有狀態(tài)status字段,這個表的數(shù)據(jù)如何更新呢?因為榜單是按日查詢的,所以就每天插入一份即可,與其在服務中加邏輯,不如直接在數(shù)據(jù)庫中寫個job,定在每天23:59執(zhí)行,取狀態(tài)status=2的數(shù)據(jù)即可了。

轉載于:https://www.cnblogs.com/net515/p/6548237.html

總結

以上是生活随笔為你收集整理的实时排行榜的后台数据功能实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。