今天看了一个老视频:http://v.youku.com/v_show/id_XMzM3NjgzMjY4.html
里面说到这个问题“A关注了B,B也关注A,要得到两个人的共同好友,好友取交集。如果A是一个粉丝有3000万的大V,而B是粉丝只有1000的屌丝,要找出他们的共同好友,应该怎么做?”
视频看完了,我却米有找到答案。大家帮忙分析下。
首先得是redis,第二,得合理,不能用户查看的时候等待个四五秒。
大家讲道理2017-04-21 11:18:41
この計算プロセスは 1 回限りの http 操作ではなく、非常に経験豊富なアルゴリズム エンジニアやデータ エンジニアでない限り、すぐに計算することはできません。
これらはバックグラウンドでゆっくりと計算されます。そうでない場合、データ マイニング エンジニアは、計算結果が計算されると、その時点で静的言語と常駐メモリを使用する利点をプッシュし始めます。サーバー側も反映できます。
伊谢尔伦2017-04-21 11:18:41
ビデオを見た後、事前計算であることが明確に述べられました。 (10分30秒からご覧ください)
注意したとき(データを挿入するとき)に計算するだけです。
巴扎黑2017-04-21 11:18:41
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:共通でフォローしているユーザーはいますか?残りの交差点の違いについては説明する必要はないと思いますが、皆さんも知っておくべきです