目前,我是以一种简单的方式进行的,也就是说,当用户加载每一页时,我们会检查一次。我们通过直接查询private_message表来检查它。
任何更好/更有效的方式?
答案 0 :(得分:1)
使用ajax定期检查新邮件。但这取决于您的页面 - 如果有很多页面请求/重新加载,您的解决方案也可以正常工作
答案 1 :(得分:0)
可能性是一个额外的事件表,您要存储要警告用户的事件。不过,这不仅仅是一条私人信息。但一般来说,只要有私人消息,就会添加一个带有简短描述和新消息URL的事件。如果发生了其他事情,那么您也可以将其添加为事件。例如,如果朋友上线,您可以添加“在线朋友”活动。 (迟早会发生“离线朋友”事件。)
从此事件表中,您可以计算事件数量并仅显示最新事件。由于它将包含多个不同的通知,因此您现在可以使用一种通用的方式来处理它们。如果用户点击一个,则会再次删除它。或者用户进入“事件”页面并将其全部删除。
何时检查新活动?通过Ajax或每个页面请求。 Ajax解决方案对用户来说更好,但是因为它不断检查新信息,所以也会占用更多带宽。但只有少数访问者,他们不太可能收到许多新消息。在这种情况下,对新消息进行“实时”警告并不是真正的要求。因此,在这两个场景中,每页更新请求应该没问题(除非您有无限的带宽。)