我想知道解决我的问题的最佳方法是什么......
所以,我想要一个每秒更新的实时图表。我目前有一个在树莓派上运行的 python 脚本,它每秒向 MySQL 服务器添加新的数据条目。我正在开发一个网站,该网站将使用 Ajax 很好地显示此信息以刷新数据(我目前让 Ajax 提取唯一的最新条目)。我将有一个每秒变化的 2 分钟(120 秒)折线图。删除最后一秒(第二个 120),并在第 1 秒向时间线添加一个新条目。
我的问题是,缓存秒 1-119 的最佳方法是什么,而不必每秒对最新的 120 个条目进行 MySQL 查询。我认为以某种方式缓存它会减少MySQL服务器收集和推送的数据,以及Ajax请求的网络流量更少。
感谢您的回复,斯罗德内
这样的事情应该可以工作:
<?php
$_SESSION['results']=['red','blue','green'];
$newRow='black'; // some new value to add
array_shift ($_SESSION['results'] ); // remove the value at index 0
$_SESSION['results'][]=$newRow; // add the new value at the end
var_dump($_SESSION['results']);
?>
其中$_SESSION['results']
是第一个查询的完整结果,$newRow;
是仅针对一个新行的新查询的结果 –
但是,每一秒都这样做可能会变得混乱。特别是因为您可能会使用 ajax 来刷新结果,并且时间可能很难管理
由于您似乎想要流式传输数据,因此我自己对它们没有任何经验,但听起来您可能会发现 Web Workers 对此很有用。