Php 如何在每5秒内用当前时间戳更新数据库

Php 如何在每5秒内用当前时间戳更新数据库,php,jquery,ajax,html,Php,Jquery,Ajax,Html,我有一个数据库名用户,还有一个last_seen字段。我想每隔5秒用当前时间戳更新此字段 您可以每隔5秒进行一次AJAX调用,以确认该用户处于活动状态。但是,它会给您的数据库和Web服务器添加大量流量 如果它是一些内部应用程序,并且您知道负载,那么它就可以了。此外,您还可以尝试将最后一次看到的内容写入某种缓冲区中的内存,如果在60秒内没有更多请求,则会将该缓冲区写入磁盘。使用任何Javascript框架,您都可以通过定期的XHR回调轻松实现这一点,但这意味着,如果有50个用户打开了您的站点,您将

我有一个数据库名用户,还有一个last_seen字段。我想每隔5秒用当前时间戳更新此字段

您可以每隔5秒进行一次AJAX调用,以确认该用户处于活动状态。但是,它会给您的数据库和Web服务器添加大量流量


如果它是一些内部应用程序,并且您知道负载,那么它就可以了。此外,您还可以尝试将最后一次看到的内容写入某种缓冲区中的内存,如果在60秒内没有更多请求,则会将该缓冲区写入磁盘。使用任何Javascript框架,您都可以通过定期的XHR回调轻松实现这一点,但这意味着,如果有50个用户打开了您的站点,您将每秒执行10个请求,并且您的主机将关闭您以生成荒谬的服务器负载。如果他们不这样做,您将由于SQL数据库锁定而使您的站点速度慢得可笑,甚至可能导致您的整个站点在每次请求时都超时

只需记录最后一个页面视图,并更新其他回调中的时间戳(如果有)。如果用户正在查看的页面上没有任何其他回调,那么就没有任何合理的目的去知道他何时还打开了它,因为他正在查看的信息已经过时了。

试试mysql事件:


Crons只能以每分钟的精度运行。伙计们,他只想在用户在线时更新,这意味着,他想通过ajax请求进行更新。但是你计划如何在最后一次看到的字段中前进的想法并不好。不应自动更新它:)在内部使用ajax
setInterval()
如何使用数据?你想干什么?将AJAX调用作为HeartBeat并不是最佳选择,MySQL到底应该如何知道用户仍在关注相关页面?“我如何能每5秒用当前时间戳更新数据库”这是他的问题,我想这取决于他的逻辑,如何知道用户是否仍在观看,但他要求的是每5秒更新一次数据库。从技术上讲,这确实回答了这个问题,尽管我认为这意味着只有当用户仍在页面上时才会发生更新。
:)
。为什么?这取决于应用程序,也许他可以添加一列作为flig来指示用户在线,并为所有在线用户每5秒更新一次表,这同样取决于应用程序,我只是尝试帮助。)就像我说的,你可以,这在。我只是说,你永远也不应该考虑在现场进行这件事,除非你有整个数据中心在你的处置,如脸谱网和谷歌。
CREATE EVENT myevent
    ON SCHEDULE EVERY 5 SECOND
    DO
      UPDATE myschema.mytable SET mycol = mycol + 1;