當前位置:首頁 » 硬碟大全 » 微博百億緩存服務怎麼設計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

微博百億緩存服務怎麼設計

發布時間: 2023-06-10 18:50:06

『壹』 新浪微博「點贊功能」資料庫如何設計的

對於第一個問題,設計一個schema->(messageID,likedCount),記錄每條微博的點贊數。messageID是微博的編號,likedCount是該微博的點贊人數。但是這里有兩個問題需要解決,第一是並發,第二是數據量。

每條微博都有可能有很多人同時點贊,為了保證點贊人數精確就需要保證likedCount++是原子操作,這個可以由應用程序來實現,也可以用redis的事務來實現(如果redis有事務機制或者自增功能的話),但是我覺得為了性能考慮,也可以不用實現原子操作,具體原因就不展開了。

每天都上億可能更多的微博內容產生,這樣就會有上億個新的(messageID,likedCount)生成,這樣的數據量是比較大的,單機資料庫比較難提供高效的服務,所以需要採取sharding的功能(有時候也叫分表分庫),可能根據messageID把這些schema分散到十個或者更多的shards上(據說,sina微博有600個節點,如何三個節點組成一個shard,就有200個shards),這樣每個shard處理的請求就只有原來的十分之一,從而就能提高服務的性能。

關於點贊人列表的設計,一般來說,可能想到的schema是(messageID,userID),但是這樣的設計有一個小問題,就是有些大發的微博可能會得到幾十萬的點贊,這樣就會產生幾十萬個條數據,這樣數據有點多,讀取起來可能也慢。所以可以用這樣一個schema(messageID,partID,userIDs),讓一個messageID對於多個userID,同時比對應太多的userID,所以加入一個新的partID,一個part存1000個userID,這樣幾十萬個點贊,只需要存幾百條數據。這樣做還有一個好處,用戶點擊查看點贊人時的,一般都不是完全顯示所有點贊人,而是一批一批顯示,這樣可以一次只讀一條數據,就可顯示一批點贊用戶信息。

『貳』 微博的離線緩存在哪裡

打開微博視頻的離線緩存步驟如下:1、在手機中找到微博App,點擊進入。
2、點擊下方的視頻圖標,進入到微博視頻界面。
3、點擊右上方的向下箭頭的下載按鈕,即可看到已經下載視頻的緩存了。
下載微博視頻的方法:1、在微博App中找到想要下載的視頻,點擊右上角的三個點按鈕。
2、在喚出的功能列表中點擊復制鏈接,然後打開手機瀏覽器。
3、把復制的鏈接復制到手機瀏覽器中,然後點擊播放。
4、在視頻的右側就可以看到下載按鈕,如果沒有,可以長按視頻,會彈出下載窗口。
關閉微博群消息提醒的方法:1、在手機中找到微博App,點擊進入。
2、點擊下方的消息,然後進入到消息界面。
3、點擊右上角的設置,點擊聊天設置,然後點擊群消息,將群消息提醒關閉即可。
如果想與某個好友發起聊天,除了點擊TA的聊天界面發送消息外,還可以點擊消息的設置,點擊發起聊天即可。
更多關於微博的離線緩存在哪裡,進入:https://m.abcgonglue.com/ask/ba35d21616109011.html?zd查看更多內容