使用NodeJS存储x个小时的数据

我需要每10分钟收集一次数据,并将这些数据存储32小时。 这意味着,我将有192条这样的数据,我需要经常访问这192个条目。

起初,我想使用一个数组,只是推入到它的元素。 如果我的计数器更高,我会删除第一个元素(32小时前收集的元素)。 不过,我觉得可能会很慢。

另一种方法是将数据写入linux上的/ tmp目录,实际上并不在乎删除它,而只是读取最新的192个条目。

我没有发现这个谷歌search,所以任何人都可以指出我正确的方向吗?

另外,如果数据在重新启动/重新启动机器时丢失,则不会有任何问题。

将它存储在一个数组中将会比将其保存到磁盘更快,并且每次访问时都不得不重新读取任何文件。

对于这种types的操作,速度实际上应该是完全不相关的,所以你可以做如下的事情:

var updateArray = function(arr, newData) { if (arr.length > 192) { arr = arr.slice(1); // Remove first entry } arr[arr.length] = newData; return arr; }; 

对于这种需求,我build议将数据存储在像redis或memcache这样的快速caching中。 您可以指定密钥自行到期的时间。 这样它将非常快速,你不必明确地pipe理它。 所以我build议高速caching存储数据的时间较长,并且caching服务器可以与应用程序服务器分开,这样数据在重新启动时不会丢失。

另外我想指出的是,/ tmp目录不能被信任的存储任何东西,因为它将不时被操作系统清理。

如果你想存储数据,然后使用分贝。