首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有MYSQL和PHP的通知系统

带有MYSQL和PHP的通知系统
EN

Stack Overflow用户
提问于 2015-05-26 08:32:38
回答 1查看 473关注 0票数 1

我的安卓应用程序使用MySQL后端,使用PHP API。该应用程序允许读者跟踪不同的作者,并在他们所跟踪的作者之一提交一篇文章时获得通知。

现在,我正在通过为每个作者的追随者存储一个新的记录来做到这一点。例如:如果有1000名关注者的作者提交了一篇文章,它会添加1000个新行,其中seen列设置为FALSE

现在,当移动应用程序请求不可见的通知时,我可以只显示这些记录,将seen设置为TRUE

然而,这在某种程度上是困难的。例如,一群拥有300k+追随者的作者将创建大量行。

难道这只是一个制度的成本吗?或者,是否有更有效的方法来处理这个问题,也许是从应用程序的角度?

代码语言:javascript
运行
复制
Table : posts (Only the relevant columns)
-------------
id : INT(10) PK,NN,AI
author_id : INT(10) NN,UN


Table : followers
-----------------
id : INT(10) PK,NN,AI
author_id : INT(10) NN,UN
user_id : INT(10) NN,UN

Table : notifications
---------------------
id    :  INT(10) PK,NN,AI
user_id : INT(10) NN,UN
author_id : INT(10) NN,UN
seen : VARCHAR(1) NN

一些表注:

  1. 每次用户跟踪作者时,都会在followers表中创建一个新行,其中包含读取器的user_id和被订阅者的author_id。任意点的行总数将等于所有用户的追随者计数之和。
  2. 当作者提交一个帖子时,将在notifications表中为他们的每个追随者创建一个新行,并将seen列设置为FALSE。然后,该应用程序发送另一个电话,以标记他们看到的。做这项工作,但是大量的数据会不断地被添加进来。
  3. 当应用程序请求通知时,将检索notifications表中与当前用户相关的所有未见行。
EN

回答 1

Stack Overflow用户

发布于 2015-05-26 08:38:57

有很多方法可以让你做得更好。这里有一个简单的方法-你可以使用时间戳。跟踪用户上次请求通知的时间。然后,当他们下一次请求通知时,用时间戳查询所有的文章。这是他的通知。需要每个用户1行,或每个用户1列,这取决于您是否创建了一个新表,或者仅仅为一个新列进行了最后一次检查。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30453454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档