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