gpt4 book ai didi

javascript - JS 根据用户设置发送通知

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:39 24 4
gpt4 key购买 nike

我正在构建一个基本的股票观察应用程序 - 让我们将当前观察的股票称为N。当股票变动 X% 时,触发通知/事件。 X 是按每个用户定义的。

服务器保存股票的当前价格以及用户最后已知的价格(每个用户收到的最后警报)

构建这个的最佳方法是什么?我不想在任何价格变动时循环遍历每个用户来检查他们设置的移动百分比是否达到,因为这显然是一个巨大的性能问题。

我们将非常感谢用于进一步研究的资源和链接。

我正在用 Javascript(准确地说是 nodeJS)构建它,但我对构建它背后的概念更感兴趣,而不是直接的代码示例。

谢谢!

最佳答案

您可以为每只股票创建一个观察者列表,其中包含观察该股票的用户列表以及他们的通知触发价格。如果您按触发价格对列表进行排序,那么您可以轻松地从列表的一端遍历以收集现在应通知的用户的确切列表。为该用户发出通知后,您可以决定是为该用户设置新的触发价格,还是将其从列表中删除,因为他们的通知已发送。

此类方案具有以下优点:

  1. 找出在给定价格变动至新价格后应通知哪些用户既简单又快捷。
  2. 这与用户总数无关,因此可以扩展到大量用户。
  3. 对于特定股票,您只需与正在观看该特定股票的用户打交道,而不是与整个用户群打交道。
  4. 添加用户通知只是按顺序插入到列表中(对触发价格进行二分搜索并插入到列表中 - 已知的插入算法)。

为了使从系统中删除用户等操作更加高效,用户对象可能还保留该用户正在关注的证券列表(及其触发价格),这样您就可以转到每个证券并将该用户的关注从列表中删除,而无需搜索所有证券。因此,添加监视会将一个项目添加到用户对象列表中,并将用户和触发价格添加到特定于安全的列表中。

关于javascript - JS 根据用户设置发送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44664745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com