我正在开发实时股票市场应用程序并在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多种产品,我必须使用随机方法每五秒更改一次产品的价格。 然后,我还需要保存更换后的价格,以显示产品价格演变的图形分析。
我使用以下技术:
如何同时(每5秒)更新所有产品的价格?
是否有任何模块或事件驱动编程,我可以通过它来同时更新每个产品。
任何帮助将不胜感激。
答案 0 :(得分:3)
首先,由于此请求仅涉及数据库中的更改,因此只应涉及应用程序的后端。 (NodeJS - Firebase)
然后,我会建议您检查您是否订阅了Inferno定价计划(https://www.firebase.com/pricing.html)。 否则,您将非常快速地使用您的所有津贴。 (每5秒1个请求(最少)等于每天17280个请求。)
最后,每5秒钟,您将在firebase数据库中存储100.000+个产品数据。正如您所说,您希望保留以前数据的痕迹。所以你不想删除它们。 在云上放置100.000+个产品(代表几KB甚至MB),每5秒看起来就是一个非常糟糕的主意。)
我会说你的要求不切实际。 除非您为服务器提供庞大的物理基础设施。