首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中每分钟自动向mysql行发送新记录

如何在php中每分钟自动向mysql行发送新记录
EN

Stack Overflow用户
提问于 2022-01-22 17:02:48
回答 1查看 64关注 0票数 0

我目前正在编写我自己的社交网络(temal.cf)。

  • 用户可以注册、登录和与其他用户聊天。如果用户1登录,行"last_login“将更新到当前时间,行”状态“将更改为phpmyadmin数据库中的”联机“。
  • 如果用户1登录,则将行”状态“设置为”脱机“。

因此,如果用户只是关闭他的浏览器或关闭标签,他将只是停留在网上。这是个问题。

我现在解决这个问题的办法是

  • 每隔1或2分钟更新一次数据库中的"last_login“行。如果用户1关闭浏览器,它将不再向数据库发送更新。如果有不同的用户检查用户1的在线状态,则将检查用户1的当前时间与最后更新时间之间的差异是否超过2-3分钟,如果是,则应该说用户1是脱机的,如果没有,应该说用户1是联机的。

F 217

那么,如何以php语言每分钟向sql数据库自动发送新记录呢?

EN

回答 1

Stack Overflow用户

发布于 2022-01-22 18:08:40

这不是简单的PHP,您必须使用某种前端解决方案和后端解决方案。

很少有解决办法:

  1. Socket.io
  2. sending AJAX,每分钟使用setInterval .(糟糕的想法,但在某些情况下会起作用),然后检查CRON脚本时dif .
  3. ,每次您做任何backednd活动时只更新DB时间,对于性能来说也是糟糕的想法.,如果您有MyISAM之类的db引擎或其他任何其他的,它们有特定的规则,例如MyISAM在更新单个行时会锁定整个表.因此,所有其他请求都必须等待
  4. 没完没了的AJAX ( wrost idea ),当您获得状态代码499时,您就知道发生了什么.但是如果你这样做的话,...
  5. ....

就有问题了

有很多解决方案,但大多数都是糟糕的,你的老板会不高兴的:D,最好是Socet.io为您的情况,或只是做2,并发送它每10分钟和它的好,如果你的应用程序有一些延迟在线状态……

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

https://stackoverflow.com/questions/70815118

复制
相关文章

相似问题

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