如何在firebase中使用相同的方法同时更新多个对象中的数据?

时间:2016-05-06 13:48:31

标签: angularjs node.js firebase firebase-realtime-database nosql

我正在开发实时股票市场应用程序并在Firebase中保存数据,

结构:

    <?php
        require_once("config.php");

        class MySqlDatabase{
            private $connection;

            function __construct(){
                $this->open_connection();
            }
            public function open_connection(){
                // THIS SHOULD READ $this->connection NOT $connection
                // YOU ARE IN A CLASS REMEMBER ;-)
                $this->connection = mysqli_connect(DB_SERVER , DB_USER , DB_PASS , DB_NAME);
                // HERE HAS ALSO THE SAME ISSUE AS ABOVE
                if(!$this->connection){
                    // AND EVEN HERE TOO::
                    die("Database connection failed:" . mysqli_error($this->connection));
                }
            }
            public function query($sql){
                // INCIDENTALLY; YOU DID IT PERFECTLY HERE!!! ;-)
                $result = mysqli_query($this->connection , $sql);
                $this->confirm_query($result);
                return $result;
            }
            private function confirm_query($result){
                if(!$result){
                    die("Database query failed: ".mysqli_error($this->connection));
                }
            }
        }

        $database = new MySqlDatabase();
        $db =& $database;

现在面临的挑战是:

对于100,000多种产品,我必须使用随机方法每五秒更改一次产品的价格。 然后,我还需要保存更换后的价格,以显示产品价格演变的图形分析。

我使用以下技术:

  • AngularJS (前端框架)
  • NodeJS (后端框架)
  • Firebase (数据库服务)

如何同时(每5秒)更新所有产品的价格?

是否有任何模块或事件驱动编程,我可以通过它来同时更新每个产品。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

首先,由于此请求仅涉及数据库中的更改,因此只应涉及应用程序的后端。 (NodeJS - Firebase)

然后,我会建议您检查您是否订阅了Inferno定价计划(https://www.firebase.com/pricing.html)。 否则,您将非常快速地使用您的所有津贴。 (每5秒1个请求(最少)等于每天17280个请求。)

最后,每5秒钟,您将在firebase数据库中存储100.000+个产品数据。正如您所说,您希望保留以前数据的痕迹。所以你不想删除它们。 在云上放置100.000+个产品(代表几KB甚至MB),每5秒看起来就是一个非常糟糕的主意。)

我会说你的要求不切实际。 除非您为服务器提供庞大的物理基础设施。