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

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

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

伊谢尔伦
伊谢尔伦

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

全員に返信(3)
大家讲道理

この計算プロセスは 1 回限りの http 操作ではなく、非常に経験豊富なアルゴリズム エンジニアやデータ エンジニアでない限り、すぐに計算することはできません。
これらはバックグラウンドでゆっくりと計算されます。そうでない場合、データ マイニング エンジニアは、計算結果が計算されると、その時点で静的言語と常駐メモリを使用する利点をプッシュし始めます。サーバー側も反映できます。

いいねを押す +0
伊谢尔伦

ビデオを見た後、事前計算であることが明確に述べられました。 (10分30秒からご覧ください)
注意したとき(データを挿入するとき)に計算するだけです。

いいねを押す +0
巴扎黑

Redis セットの使用は簡単です。
例:
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:共通でフォローしているユーザーはいますか?残りの交差点の違いについては説明する必要はないと思いますが、皆さんも知っておくべきです

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート