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

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

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

伊谢尔伦
伊谢尔伦

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

membalas semua(3)
大家讲道理

Proses pengiraan ini bukan operasi http sekali sahaja, dan ia tidak boleh dikira serta-merta, melainkan terdapat jurutera algoritma NB dan jurutera data.
Perkara-perkara ini dikira perlahan-lahan di latar belakang Jika tidak, apa yang jurutera perlombongan data bergantung pada apabila keputusan yang dikira dikira, mereka akan mula menolaknya kepada anda Pada masa ini, faedah menggunakan bahasa statik dan memori pemastautin sisi pelayan boleh dicerminkan.

伊谢尔伦

Selepas menonton video, ia dinyatakan dengan jelas: pra-pengiraan. (Mula menonton pada 10 minit dan 30 saat)
Hanya mengiranya apabila anda memberi perhatian (memasukkan data).

巴扎黑

Senang untuk menggunakan set redis.
Contoh:
pengguna:1:peminat [2,3,4] //Peminat mengikuti pengguna 1
user:1:follows [2,5,7,8] //User 1 follows

pengguna:2:peminat [1,3,4] //Ikuti pengguna 2
pengguna:2:mengikut [1,7,8] //

diikuti oleh pengguna 2

Apabila pengguna 1 log masuk, jika anda mengambil persimpangan user:1:fans dan user:1:follow, anda boleh mendapatkan perhubungan rakan Kemudian ambil persimpangan pengguna:1:follows dan user:2:follows , betul ke pengguna yang boleh mendapat perhatian bersama? Saya percaya saya tidak perlu memberitahu anda selebihnya perbezaan persimpangan, anda juga harus mengetahuinya

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan