Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用全局对象作为存储_Javascript_Node.js_Persistence - Fatal编程技术网

Javascript 使用全局对象作为存储

Javascript 使用全局对象作为存储,javascript,node.js,persistence,Javascript,Node.js,Persistence,我制作了一个应用程序,定期从几个web客户端接收位置数据。我使用couchdb进行了一个快速实现,但是由于couchdb为每次更新创建了一个新版本,并且数据更新非常频繁,因此它消耗了大量的磁盘空间,而历史数据没有什么意义。我转而研究了MongoDB,但在思考如何实现MongoDB时,我有了另一个想法: 全局对象位于进程范围内,因此可以使用它在会话之间共享数据。不需要会话之外的持久性,因此我完全删除了数据库,将所有数据存储在全局对象中,并使用javascript将一些数据持久化到HTML5 loc

我制作了一个应用程序,定期从几个web客户端接收位置数据。我使用couchdb进行了一个快速实现,但是由于couchdb为每次更新创建了一个新版本,并且数据更新非常频繁,因此它消耗了大量的磁盘空间,而历史数据没有什么意义。我转而研究了MongoDB,但在思考如何实现MongoDB时,我有了另一个想法:

全局对象位于进程范围内,因此可以使用它在会话之间共享数据。不需要会话之外的持久性,因此我完全删除了数据库,将所有数据存储在全局对象中,并使用javascript将一些数据持久化到HTML5 localStorage中,以方便用户。后端的复杂性大大降低了,解决方案感觉有些优雅,但我仍然觉得我需要洗个澡


所以我的问题是:这个解决方案有没有我没有想到的明显缺陷?

恭喜你重新发现了memcache。我做了两次
如果您需要存储此数据,那么实际上应该将其保存到db,因为服务器应用程序重新启动将删除RAM中的所有数据。所以实际上最好使用memcache和异步写入db。

信息不够。你打算用这些数据做什么?你将如何去查询它?等。数据存储在hashmap中,我不需要进行任何查询,因为我直接使用ID访问它们。谢谢:P尽管如此,我不需要保存数据,因为正确的状态将在一个更新周期后重新生成。我更想知道这样存储大量数据会有什么影响。要存储大量数据,需要有大的RAM。memcache还有一个名为memcacheDB的数据库,它基于BarkleyDB,但使用memcache机制,这可能是一个解决方案。