久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

redis - 新浪微博里的共同好友的查找是如何實(shí)現(xiàn)的

瀏覽:112日期:2022-06-25 18:03:02

問題描述

今天看了一個(gè)老視頻:http://v.youku.com/v_show/id_XMzM3NjgzMjY4.html里面說到這個(gè)問題“A關(guān)注了B,B也關(guān)注A,要得到兩個(gè)人的共同好友,好友取交集。如果A是一個(gè)粉絲有3000萬的大V,而B是粉絲只有1000的屌絲,要找出他們的共同好友,應(yīng)該怎么做?”視頻看完了,我卻米有找到答案。大家?guī)兔Ψ治鱿隆?/p>

首先得是redis,第二,得合理,不能用戶查看的時(shí)候等待個(gè)四五秒。

問題解答

回答1:

這個(gè)計(jì)算過程不是一次http操作就行的,而且也不是能夠立即計(jì)算出來,除非灰常NB的算法工程師和數(shù)據(jù)工程師。這些東西都是在后臺慢慢計(jì)算,不然那些數(shù)據(jù)挖掘工程師靠什么吃飯,當(dāng)有計(jì)算出結(jié)果的時(shí)候就開始向你推送,這個(gè)時(shí)候就能夠體現(xiàn)服務(wù)器端用靜態(tài)語言并且常駐內(nèi)存的好處了。

回答2:

看了一下視頻,人家說的很清楚了:預(yù)先計(jì)算。(從10分30秒開始看)就是關(guān)注(插入數(shù)據(jù))的時(shí)候,就計(jì)算一下。

回答3:

利用redis的sets很容易。例:user:1:fans [2,3,4] //關(guān)注用戶1的粉絲user:1:follows [2,5,7,8] //用戶1關(guān)注的

user:2:fans [1,3,4] //關(guān)注用戶2的粉絲user:2:follows [1,7,8] //用戶2關(guān)注的

用戶1登陸的時(shí)候,取一下user:1:fans與user:1:follow的交集,能得到好友關(guān)系,那取一下user:1:follows與user:2:follows的交集,是不是就能得到共同關(guān)注的用戶?剩余的交集差集相信不用我說,你應(yīng)該也會了吧

標(biāo)簽: 微博
相關(guān)文章:
主站蜘蛛池模板: 云梦县| 潞城市| 连城县| 诸城市| 张掖市| 嘉禾县| 三江| 堆龙德庆县| 芜湖市| 德惠市| 高碑店市| 盐边县| 永福县| 获嘉县| 长子县| 武冈市| 奉贤区| 连南| 通河县| 渑池县| 山西省| 邮箱| 乌海市| 兰西县| 康马县| 津南区| 虎林市| 时尚| 沁水县| 沅江市| 诏安县| 伊金霍洛旗| 繁峙县| 曲麻莱县| 高青县| 湟源县| 宁化县| 息烽县| 巴楚县| 漠河县| 磐石市|