我想创建一个像Twitter这样的应用程序。现在我对这个项目数据库架构有疑问。我想在他/她的个人资料中显示每个用户关注者/关注计数,但我不知道我每次都要从关注者/关注表/集合中查询,或者这个值可以是用户记录中的两个小的单独字段?如果我每次查询肯定需要很长时间和数据库开销。另一方面,如果我为每个用户保存在两个字段中,当有更改时,我必须执行2个操作,修改关注者或关注表以及用户记录中的这两个字段。我的数据库将是庞大而庞大的数据。
哪种方法是好的和标准的?
答案 0 :(得分:0)
嗯,这取决于它是谁?
如果是您的用户,他们可以看到他们有多少粉丝。只有当用户登录到您的服务时,我才会进行此Twitter API调用。
如果由于某种原因必须为所有用户完成。我认为最好的方法是在一小时,每隔一小时或每天进行一次追随者 - 计数 - 呼叫 - 召唤。这可以通过在cron中运行的脚本来实现。
你真的需要粉丝或追随者吗?或两者兼而有之?
如果两者兼而有之,您可以请求Twitter用户的关注者并将其限制为100(如果您的cron每分钟运行一次,则每15分钟一次)。然后将这些关注者id循环到您的数据库并继续插入它们,直到匹配为止。 Twitter默认返回所有最新的关注者ID:s。所以现在这是可能的。
请记住,在请求关注者时,每个用户令牌只能为Twitter API提供15个请求。此限制可能因不同端点而异。
值得一提的是,我认为你只是跟随者。那些你一次可以获得5000。如果您想请求关注者对象,那么每个请求的限制只有200个。
希望这会有所帮助:D