gpt4 book ai didi

php - 如何返回用户尚未看到的项目/帖子

转载 作者:行者123 更新时间:2023-11-30 00:24:55 29 4
gpt4 key购买 nike

我们有一个 Android 应用程序,通过无状态 JSON 协议(protocol)与 php/MySQL 服务器通信。

  • 用户已登录应用并拥有相应的用户 ID。
  • 应用根据请求从服务器接收项目/帖子列表。
  • 当用户滑开列表中的某个项目时,系统会向服务器发送一条“响应”消息,并将项目 ID 添加到不关心 strong> 包含用户 ID 的表。
  • 现在,要将已删除的项目替换为新项目,很容易忽略不关心表中与用户 ID 匹配的项目;但是,服务器不应返回用户应用中当前的项目,即列表中尚未被刷走的项目。

跟踪当前用户列表中的项目的最有效方法(就服务器负载而言)是什么?

我想到的一些解决方案:

  1. 发送项目列表后,将所有项目 ID 放入具有用户 ID发送给用户表中>item-id 列。不幸的是,这意味着每个列表请求都需要一个写操作。另外,消息可能无法到达用户手中?
  2. 对于每条请求消息,应用程序都会包含用户列表中当前的一组项目。问题在于,它本质上变成了查找逗号分隔列表的问题,即 almost as bad as this ,需要 FIND_IN_SET 操作。如果我们有大量元素,那么这将是一项昂贵的操作。

就目前情况而言,我倾向于(1)。

编辑:归根结底,如果它是可控制查询,我更喜欢选项 (2)。是否有一种可控制的方法来接收 JSON 数字数组,并在 MySQL IN 查询中使用这些数字?

最佳答案

你不能用数据库表中的一个简单标志来管理这个吗?即:第一次向用户发送列表时,将其全部写入表中并放置标志=“SENT”(或0,或空白,或其他)。当他将其中一个滑开时,将标志更新为“不关心”(或 1,或其他)。下次发送列表时,只需发送表中尚未包含的内容即可。这样,您就不会发送他已经看到的任何内容,并且在表中您可以准确地看到他当前列表上的内容(这将是该标志为“已发送”、0 或空白的所有内容,无论您选择哪一个) )

关于php - 如何返回用户尚未看到的项目/帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22964103/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com