redis - 新浪微博里的共同好友的查找是如何实现的
伊谢尔伦
伊谢尔伦 2017-04-21 11:16:41
0
3
1235

今天看了一个老视频:http://v.youku.com/v_show/id_XMzM3NjgzMjY4.html
里面说到这个问题“A关注了B,B也关注A,要得到两个人的共同好友,好友取交集。如果A是一个粉丝有3000万的大V,而B是粉丝只有1000的屌丝,要找出他们的共同好友,应该怎么做?”
视频看完了,我却米有找到答案。大家帮忙分析下。

首先得是redis,第二,得合理,不能用户查看的时候等待个四五秒。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆 (3)
大家讲道理

這個計算過程不是一次http操作就行的,而且也不是能夠立即計算出來,除非灰常NB的演算法工程師和資料工程師。
這些東西都是在後台慢慢計算,不然那些資料探勘工程師靠什麼吃飯,當有計算出結果的時候就開始向你推送,這個時候就能夠體現伺服器端用靜態語言並且常駐記憶體的好處了。

    伊谢尔伦

    看了一下視頻,人家說的很清楚了:預先計算。 (從10分30秒開始看)
    就是關注(插入資料)的時候,就計算一下。

      巴扎黑

      利用redis的sets很容易。
      例:
      user:1:fans [2,3,4] //追蹤使用者1的粉絲
      user:1:follows [2,5,7,8] //使用者1關注的

      user:2:fans [1,3,4] //追蹤使用者2的粉絲
      user:2:follows [1,7,8] //使用者2關注的

      用戶1登陸的時候,取一下user:1:fans與user:1:follow的交集,能得到好友關係,那取一下user:1:follows與user:2:follows的交集,是不是就能得到共同關注的用戶?剩餘的交集差集相信不用我說,你應該也會了吧

        最新下載
        更多>
        網站特效
        網站源碼
        網站素材
        前端模板
        關於我們 免責聲明 Sitemap
        PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!