我正在开发一个社交网络网站项目。我已经创建了数据库和一切。 posts表有一个preference
列,它根据帖子从用户获得的喜欢和评论以及创建帖子的时间来存储首选项值。 要从帖子表中检索用户主页的帖子,我正在运行使用连接的查询,该连接使用preference
列进行排序。 现在,假设我检索了10个帖子,以便在帖子表上显示用户并且用户向下滚动,并且从用户再次发出一个请求以检索到服务器的下10个帖子。从mysql数据库社交网站重新请求帖子
如果在这些请求之间很少有其他用户创建一个新的帖子或者数据库中的帖子偏好值在两者之间的变化,现在如果我在服务器上运行第二个请求,所有的帖子都会诉诸于第二个请求(即显示接下来的10个帖子),但是由于数据库被更新,这意味着在第二个请求中,很多机会会有很少的前10个帖子在第二个请求中被检索到。
我想知道如何避免这些重复的请求。 facebook或任何其他社交网络如何在其后端数据库处于动态时解决此问题。
Facebook有没有解决它?根据我的经验,在facebook新闻中没有任何订单。你从来不确定帖子的顺序,也不知道你是否已经显示出某个帖子。 –
Facebook曾经这样做,虽然它默认为一些相当无用的排序顺序,但现在仍然有一个选项可以按照发布时间进行排序(并非总是那么做) – Kickstart