当前位置: 首页 > 知识库问答 >
问题:

从mysql数据库社交网络站点重新请求帖子

安聪
2023-03-14

我正在做一个社交网络网站项目。我已经创建了数据库和一切。帖子表有一个首选项列,该列根据帖子从用户那里获得的喜好和评论以及创建帖子的时间来存储首选项值。为了从帖子表中检索用户主页的帖子,我使用使用首选项列排序的连接运行查询。现在,假设我为一个用户检索了10篇帖子,显示在帖子表上,用户向下滚动,用户再次请求检索下10篇帖子到服务器

如果在这些请求之间,很少有其他用户创建新的帖子或数据库中帖子的首选值在这段时间内发生变化,现在如果第二个请求在服务器上运行,则所有帖子都将用于第二个请求(即显示接下来的10篇帖子),但由于数据库已更新,这意味着在第二个请求中,在第二个请求中检索到前10个帖子的机会会很大。

我想知道如何避免这些重复的请求。当facebook或其他社交网络的数据库是动态的时,它们是如何在后端解决这个问题的。

共有3个答案

东深
2023-03-14

如果你储存时间

因此,第二页结果的SQL应该是

SELECT <some fields> FROM <sometables> 
WHERE DatePosted <= $timefirstseen LIMIT 10, 10

其中$timefirstseen是从会话变量加载的。这将限制您的结果仅限于用户开始访问时存在的帖子。

当然,您需要包括一个功能,允许用户在重新访问主页时自动清除会话,以确保最终能够看到新帖子!

东方灵均
2023-03-14

在脚本中存储返回的行id的记录。

例如,使用基本限制并在第一次选择完成时仅存储最新的id,并使用页码来确定要返回的记录的限制。

SELECT id, somefield
FROM SomeTable
WHERE id < $SOMESTOREDVALUE
LIMIT $PAGENUMBERTIMESTEN, 10

或者在返回每个页面后存储最新的id(每次运行时都需要存储)

SELECT id, somefield
FROM SomeTable
WHERE id < $SOMESTOREDVALUE
LIMIT 0, 10
张伯寅
2023-03-14

我宁愿完全避免这种不可靠的排序方式。

作为一个用户,我宁愿退出那个服务。坦率地说,我讨厌这样一个太聪明的服务,它决定了哪些帖子我必须看,哪些不可以。甚至在上面动态排序。

让它按日期、感兴趣的标签、明智、可靠和恒定的东西排序。

 类似资料:
  • 社交网络的一大特征就是用户间的相互关注,从而形成朋友圈或媒体圈,实现便捷的信息分享和传播。GitHub支持项目级别及用户级别的关注。 关注一个项目很简单,只需点击项目名称右侧的“Watch”按钮。 图2-27:项目的关注按钮 添加对项目的关注后,点击页面左上角的“github”文字图标进入仪表板(Dashboard)页面,如图2-28所示。 图2-28:关注项目在仪表板页的显示 仪表板页面的左侧显

  • 这是在MySQL数据库中显示浮点数的正确方法吗? 在MySQL数据库中,列名称是,例如当前用户的值是。所以答案是1.73

  • 在本章中,让我们研究一下Drupal中的Social Networking 。 社交媒体现在变得非常重要,Drupal为此目的有许多社交媒体模块。 我们以ShareThis模块为例,您可以选择其他任何选择。 以下是用于安装ShareThis模块的简单步骤。 Step 1 - 单击ShareThis以访问ShareThis模块页面,然后单击Version ,如以下屏幕所示。 Step 2 - 复制模

  • 问题内容: 我正在使用NodeJS 请求-简化的HTTP客户端 我似乎在使用HTTPS网站时遇到问题,但没有得到结果。 在Postman上测试了API端点(我不能共享),我只是关闭了SSL,它起作用了,我该如何使用请求插件做同样的事情? 问题答案: 只需添加以下行: 因此,您的代码如下所示:

  • 问题内容: 我有一个mysql数据库,正试图从我们的网站主机(godaddy)中检索。我遵循的格式似乎正确,但它告诉我: 码: 我做了conn的print语句,以为连接可能为空,并显示为: 任何人都有什么想法会导致这样的事情? 问题答案: 您的数据库URL应包含您的数据库名称。这通常是您的URL,后跟“ / DBNAME”。 其中“ mydb”是您的数据库名称。

  • Mpx提供了网络请求库fetch,抹平了微信,阿里等平台请求参数及响应数据的差异;同时支持请求拦截器,请求取消等 使用说明 import mpx from '@mpxjs/core' import mpxFetch from '@mpxjs/fetch' mpx.use(mpxFetch) // 第一种访问形式 mpx.xfetch.fetch({ url: 'http://xxx.com' }