从ajax请求缓存数据以获取下一个ajax pull

时间:2016-03-04 04:33:07

标签: php jquery mysql ajax caching

我想知道绕过我的问题最好的方式......

所以,我希望有一个每秒更新的实时图表。我目前有一个在覆盆子pi上运行的python脚本,它每秒都会向MySQL服务器添加一个新的数据条目。我正在一个网站上工作,使用Ajax很好地显示这些信息来刷新数据(我目前有Ajax拉动唯一的最新条目)。我将有一个2分钟(120秒)的线图,每秒都会改变。删除最后一秒(第二个120)并在第二个时间轴上添加一个新条目。

我的问题是,什么是缓存秒1-119的最佳方法,而不必每秒对最新的120个条目进行MySQL查询。我认为缓存它会减少MySQL服务器收集和推送的数据,并减少Ajax请求的网络流量。

感谢您的回复, Throdne

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

<?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对此有用。