我正在使用PHP和Javascript编写一个实现私人消息传递功能的网站,我希望能够在用户收到新消息时通知他们(通过屏幕顶部闪烁的“邮件”图标)
问题是如何实现此功能而不必在每次加载页面时检查消息数据库中是否有未读消息给指定用户,似乎每个用户都要为每个页面加载执行过多的服务器负载。
有人能提出更有效的方法吗?如果在收到新消息后没有立即通知用户,则无关紧要。
谢谢!
答案 0 :(得分:1)
为了避免在每个页面加载时执行此操作,您可以在调用数据库并检查用户是否收到消息的计时器函数中使用一些javascript。正如Am所说,如果你只是在用户表上设置了一个标志,你可以做一个
select message_flag from tbl_usrs where usr_id = $usr_id
现在说每次页面加载时都会自动运行这样的select语句,不会增加服务器上的负载,除非你运行的是一个包含大量的用户。
答案 1 :(得分:0)
您可以在用户表中添加一个新字段,当新邮件到达其收件箱时,该字段将设置为true。这样,一旦收到消息,就会设置标志,并且你永远不会真正进行查询来检查未读消息。
答案 2 :(得分:0)
您可以向users表添加字段'messages',并在将消息发送给用户时将其递增。
答案 3 :(得分:0)
我想说,在每次加载页面时检查消息表是否有新消息可能没有太多的服务器负载。
通过适当的索引,这根本不应该成为一个问题。
$ 0.02