Php Sf/WS/SQL中的通知系统:性能注意事项

Php Sf/WS/SQL中的通知系统:性能注意事项,php,mysql,performance,notifications,Php,Mysql,Performance,Notifications,注意:我不确定我选择的标签,请随意添加或删除一些 我将在我公司的商业网站上实施通知系统。 交通量不会很大,但至少会随之而来 我有一些技术选择要做。下面是我的想法。我只是在期待一些评论或建议:) 无法在每次“经典静态http请求”中获取未读通知的数量(例如,当用户到达我的站点,然后使用良好的旧超文本链接浏览它时)。 解决方案是:在新会话的第一个页面上加载Ajax请求。然后,未读通知的数量存储在JS的会话存储中 和Facebook一样,由于在我的Symfony应用程序中编写了websocket

注意:我不确定我选择的标签,请随意添加或删除一些

我将在我公司的商业网站上实施通知系统。 交通量不会很大,但至少会随之而来

我有一些技术选择要做。下面是我的想法。我只是在期待一些评论或建议:)

  • 无法在每次“经典静态http请求”中获取未读通知的数量(例如,当用户到达我的站点,然后使用良好的旧超文本链接浏览它时)。
    • 解决方案是:在新会话的第一个页面上加载Ajax请求。然后,未读通知的数量存储在JS的
      会话存储中
  • 和Facebook一样,由于在我的Symfony应用程序中编写了websocket服务器守护程序,通知将立即显示。这让我可以使用条令、响应对象和其他swag服务。将通知发送到浏览器时,
    sessionStorage
    条目将递增。
    • 我认为,今天,Ajax长轮询比简单的WebSocket服务器更难实现。而且,这比重复Ajax请求要轻。对古代浏览器的支持并不重要,但我认为我需要为IE开发一些后备方案(WebSocket出现在v10中,感谢微软)
  • 最重要的问题:通知目前(我刚刚开始研究)存储在一个MariaDB(=MySQL)数据库中。我使用的是实体主义。你认为表演会好吗?读取通知的存储时间不会超过几天。但所有通知都存储在一个位置(=表)。该表将处理大量请求(自动删除、非常频繁的插入,然后是大量读取/更改)。
    • 是否需要noSQL引擎或类似的东西?或者是一个更复杂的系统,介于用于长期持久性的MariaDB存储和作为交换区的缓存引擎(如Redis)之间

你的问题中有很多问题。虽然我认为可能会有很多有趣的讨论,但我认为这不适合堆栈溢出。最好将问题分成程序员堆栈交换和DB堆栈交换?(尽管仔细检查您的问题是否与主题相关)。虽然这么说,但一般的经验法则是不要在不同的网站上重复发布,所以要避免这样做,请删除这里的问题。你可能是对的。如果没有人在这里给出一些有趣的答案,也许我会在其他网站上发布更具体的帖子。