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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求思路,PHP-redis如何實現(xiàn)如同微博訂閱服務(wù)

求思路,PHP-redis如何實現(xiàn)如同微博訂閱服務(wù)

九州編程 2019-03-30 09:29:34
需求是這樣的,玩過微博的大家都知道,這以下特點可以關(guān)注很多人每個人都可以發(fā)微博當(dāng)我隔一段時間重新登錄微博,會自動將我關(guān)注的人發(fā)的最新微博,按照時間順序展示請問,如何用php和redis實現(xiàn)這樣一個訂閱,希望你能給個思路,或者參考資料(求思路,不要具體答案,但希望盡量詳盡)
查看完整描述

2 回答

?
呼啦一陣風(fēng)

TA貢獻1802條經(jīng)驗 獲得超6個贊

實際上這個是一個偉大而龐雜的系統(tǒng),我說說我的思路,要想知道關(guān)注的人發(fā)了那些微博,有兩種方式,一個是推,一個是拉
推的方式是每一個發(fā)微博的人都會將自己發(fā)的微博ID推送到自己的所有粉絲,顯然對于范爺這樣的大戶,這樣是會死人了
拉的方式是每個人自己主動去拉自己關(guān)注的人的所有最新的微博,如果關(guān)注的人比較多,也是不可行的
總體來說推拉是要結(jié)合的,具體怎么結(jié)合很難說,每個用戶都會有自己的list,用來存儲未讀的微博ID,然后不斷的去推拉,無論是推拉過程肯定都是背后的服務(wù)在處理,不是實時的
獲取微博也不是原來想象中的SQL的select批量獲取,全部是原子性的操作,比如有100條未讀的微博,會循環(huán)100次從緩存中獲取,或者使用redis的mutil批量獲取,然后沒有讀到的會回源到數(shù)據(jù)庫進行獲取,可能會覺得這樣很慢,不過實際使用過程中這樣并不慢,因為使用了大量的緩存
                            
查看完整回答
反對 回復(fù) 2019-03-30
?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

新浪分享過好幾次它們隊列系統(tǒng)的架構(gòu),建議你找找infoq看看。
這里沒辦法詳細給你總結(jié),但大概思路它們已經(jīng)分享了。
主要就是用集合和鏈表,加上樓上說的推拉。很復(fù)雜,真的。
                            
查看完整回答
反對 回復(fù) 2019-03-30
  • 2 回答
  • 0 關(guān)注
  • 400 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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