第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何實(shí)現(xiàn)一個(gè)高性能的以時(shí)間為條件的查詢器?

如何實(shí)現(xiàn)一個(gè)高性能的以時(shí)間為條件的查詢器?

現(xiàn)在存在一個(gè)案例:現(xiàn)有一個(gè)插入線程不斷的往數(shù)據(jù)庫(kù)里里面插入數(shù)據(jù):[{"ts":1562902203,"event":"product1","direction":"buy","price":0.8},{"ts":1562902204,"event":"product1","direction":"sell","price":0.8}]現(xiàn)在存在N個(gè)查詢線程在做查詢操作,查詢內(nèi)容有:當(dāng)前時(shí)間減去X時(shí)間內(nèi)的最高價(jià)當(dāng)前時(shí)間減去X時(shí)間內(nèi)的最低價(jià)因?yàn)榇嬖趦蓚€(gè)因素:時(shí)間和價(jià)格,所以這兩個(gè)都得加索引。查詢頻率極高,假設(shè)X等于5分鐘,當(dāng)前是15:00:00,查詢最高價(jià),查詢條件是14:55:00-15:00:00內(nèi)的最高價(jià),假設(shè)是14:58:00是最高價(jià)。如果當(dāng)前是15:00:01其他不變,查詢條件是14:55:01-15:00:01內(nèi)的最高價(jià),結(jié)果很可能仍然是14:58:00是最高價(jià)。兩種情況的實(shí)際結(jié)果很大的情況下是一致的。所以出現(xiàn)了大量的查詢純粹是浪費(fèi)資源。但是15:00:01是最高價(jià)的情況也出現(xiàn)過多次,需求也對(duì)數(shù)據(jù)精準(zhǔn)有高要求?,F(xiàn)有的運(yùn)行方案是:mysql5.7ts和price都加索引。select*fromdatawhere`ts`>='14:55:00'orderbypricedesclimit1現(xiàn)在經(jīng)常會(huì)出現(xiàn)mysql的CPU壓力特別高,內(nèi)存壓力特別小?,F(xiàn)在希望得到一個(gè)方案,脫離數(shù)據(jù)庫(kù)來(lái)排序獲取,自己實(shí)現(xiàn)一個(gè)高效的方案,盡量把查詢壓力放到應(yīng)用服務(wù)器上來(lái)。補(bǔ)充一下,看到大家的答案都是在討論怎么緩存歷史最高價(jià)。重點(diǎn)是14:55:01-15:00:01的最高價(jià)與14:55:00-15:00:00不一定是重合的,只是可能重合。如果重合,那么是可以存下來(lái)last_max_price,用于減少篩選范圍。但是在查詢前是不知道是否重合的,而且這個(gè)歷史的last_max_price,只對(duì)重合有效,如果不重合是完全沒有意義的。這個(gè)需求的最大問題是區(qū)間每次都是變化的。下一次查詢的起點(diǎn)是14:55:01,上一次是14:55:00,起點(diǎn)不同結(jié)尾是15:00:01,上一次是15:00:00,也是不同的,如果上一次的最高價(jià)出現(xiàn)在14:55:00,那么現(xiàn)有答案的緩存方案都是無(wú)效的。
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

最高最低存在分配律:(區(qū)間1+區(qū)間2)的max===max(區(qū)間1的max,區(qū)間2的max)
因此如果在內(nèi)存中有一些區(qū)間的緩存,一次查詢結(jié)果的大半可能可以用緩存拼出來(lái),拼不出的部分(小于最小緩存單位的區(qū)間,還不在緩存的區(qū)間)才用DB
具體怎么緩存比較隨意,可能樹或map都行
注意:如果新數(shù)據(jù)的ts可能是任意值,你還需要正確處理緩存過期
                            
查看完整回答
反對(duì) 回復(fù) 2019-07-28
  • 2 回答
  • 0 關(guān)注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)