查詢數量上百萬的mysql,是用redis快取機制?還是優化資料庫呢?

時間 2021-05-07 03:03:51

1樓:Jeffrey

說solr ,elk的都是扯淡,不可能為了乙個功能再維護一套那麼重的東西。這裡只是需要乙個倒排索引而已,可以使用mysql的全文索引,也可以自己通過redis簡單實現乙個倒排索引

2樓:悽臨雨

需要分布,把遊戲名,分布到幾十個資料庫例項(物理機)裡,每個資料庫分別處理一部分

然後結果彙總。

因為任何索引都不能有利於你這個匹配計算

匹配的過程是O(N)的

要優化響應速度就得分布式平行計算

最關鍵的一點,一旦計算過乙個遊戲的相關遊戲以後,把結果快取起來;當新遊戲出現以後,反過來修改相關它的那些遊戲的相關列表。

3樓:天龍

公司想在某款遊戲頁面,推薦名字最接近這款遊戲的十款遊戲,目前策略是匹配所有的遊戲名字,給匹配度打分,取最高的十個,問題是mysql資料庫中遊戲這個表資料量極大,有上百萬的遊戲資料,查詢起來特別費時間,導致網頁開啟慢,應該從哪方面優化呢?

根據你的需求來看,無論是直接從mysql查詢,或者直接快取到redis 中,都不能直接解決問題。

因為mysql和redis 都不太擅長解決匹配度的問題。用這兩個工具當然會查詢起來特別費時間。

1.使用Elasticsearch 。將這幾百萬資料寫到es中,然後將遊戲名字傳入,通過es的相似度功能返回合適的結果。

2.根據你的場景,如果需要產生類似推薦的遊戲本身數目不是特別大的話,可以考慮用job 將這些結果跑出來,快取到redis中。 在查詢的時候,直接從redis中獲取。

4樓:shuhari

相似度查詢是 Elasticsearch 的特長。但 Elasticsearch 本身也有比較高的門檻和複雜度,如果要使用的話最好先做個技術預研。

如果訪問熱點比較集中的話,那麼用快取也是乙個不錯的辦法。另外,遊戲的名字一般不怎麼變化,所以你們也可以考慮是否可以把結果預先算出來。

最後,網頁開啟慢說明你們應該用的是傳統頁面,可以考慮換成 Ajax 載入。這樣雖然總體時間不變,但在心理層面有助於緩解使用者的焦慮。

5樓:江夏

根據你的描述個人建議使用快取比較合理,因為這類的需求應該不需要實時的查詢資料庫資料,所以可以採用快取,這樣有資料的時候就取快取,需要更新資料的時候再更新資料即可。

6樓:寇亞龍

根據你所描述的場景,特定的場景應該選用更為合適的工具來解決問題;

mysql如果按照innodb儲存應該來說,它的優勢在於提供了良好的事務管理、崩潰修復能力和併發控制。 缺點是其讀寫效率稍差,占用的資料空間相對比較大。

redis作為記憶體key-value資料庫,支援多種資料結構;支援高併發,效能好。

目前你所遇到的問題:

大量的資料儲存遊戲應用畫像資料模糊匹配

找到問題之後既可以對症下藥,結合你自己的使用場景

方案1:用es,(1)分布式的搜尋引擎和資料分析引擎 (2)全文檢索,結構化檢索,資料分析

(3)對海量資料進行近實時的處理

方案2:策略匹配部分做成後台任務這種,在redis維護各個維度的應用佇列,然後用後台任務定時去更新佇列,介面讀取時候拿到佇列前10

方案3:使用redis的有序集合

7樓:oberon

不知道你所謂的匹配過程是什麼樣的,是單純的like還是說類似把名稱分詞後找每個詞的權重什麼的。但大概看上去不管哪種如果是查詢後直接對外輸出感覺的確快不起來。

個人建議是這種情況下乙個是考慮換儲存,把這種磁碟儲存換成記憶體儲存,比如換成es。另乙個方面是考慮實際排名演算法上是否有優化餘地,把可能的字串匹配換成hash後的分數比較。

年薪上百萬的男人對妻子的要求有什麼?

王木木 我現在想自己年薪百萬做點事發現真的太難了。賺錢都十分困難了 嫁人要求不是會更困難嗎?自己想創業真的不是說說而已的。很多事籌備中談著談著就沒了。信心也會隨著一開始的高期待而遞減逐漸回歸到平和。其實還是要對自己有個明確的認知和規劃。那這個問題我可以理解為年收入較高成功人士的選擇釣魚問題? yyl...

抖音上百萬粉的邱奇蹟 Euni真的是美籍韓裔嗎?

拐得很 講真,我在國外這麼多年,完全沒有感覺到euni說話有啥違和感。感覺很多南韓城的妹子就是這個調調。不過男生怎麼追到這個南韓妹子的我很好奇。看他家境感覺挺一般的。不知道有沒有留學的經歷。如果不是同學或者同事,很難和其他族裔打上交道。我之前讀書的時候追韓裔同學其實還挺簡單的。但老實說韓裔妹子和中國...

50上百萬的合資車大把人買,20萬的國產車很多人說貴呢?

李同學的鐘大英雄 一般來說50上百萬的合資車,除了一些高階品牌外,基本是3.0渦輪增壓的六缸機,而20萬的中國產車基本是2.0渦輪增壓的四缸機,而且質量存疑,就連做得比較好的奇瑞 哈弗 長安也有諸多不完美。 尚美設計 我希望中國產車站起來,但不是說你弄一堆華而不實的配置出來抬高車價,而把車真正的精髓...