如何存储知乎的关注关系?

2016-10-08 20:49:25 +08:00
 Orzzzz

每个用户都有关注者和被关注者,如何存储这种关系,用什么数据库?

每个话题的关注者,每个用户关注了那些话题,这些数据又该如何存储?

有哪位前辈指导一下?

谢谢。

1944 次点击
所在节点    问与答
4 条回复
billlee
2016-10-08 22:24:29 +08:00
图数据库
Neo4j, FlockDB, ...
用 RDBMS 的多对多关系存储也是可以的
当然,用 NoSQL, 自己保证一致性也是可以的
siteshen
2016-10-09 01:44:49 +08:00
-- 用户关注
-- user_followships: from_user_id, to_user_id
select to_user_id from user_followships where from_user_id = '1024'; -- 列出“用户 1024 ”关注的 user_id
select from_user_id from user_followships where to_user_id = '1024'; -- 列出关注“用户 1024 ”的 user_id

-- 话题关注:参考用户关注
siteshen
2016-10-09 01:47:21 +08:00
-- 补充下:关注 /取消关注的 sql
insert into user_followships values(1024, 2048); -- “用户 1024 ”关注“用户 2048 ”
delete from user_followships where from_user_id=1024 and to_user_id=2048; -- “用户 1024 ”取消关注“用户 2048 ”
misaka19000
2016-10-09 10:49:45 +08:00
<_id><被关注者 id><关注着 id>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/311234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX