使用全局对象作为存储

时间:2011-08-18 14:07:29

标签: javascript node.js persistence

我已经制作了一个应用程序,它定期从几个Web客户端接收位置数据。我使用couchdb进行了快速实现,但是由于couchdb为每次更新创建了一个新版本并且数据经常更新,因此耗费了大量磁盘空间,而历史数据却没有多大意义。我调查了MongoDB,但是当我在思考如何实现MongoDB时,我有了另一个想法:

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

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

1 个答案:

答案 0 :(得分:0)

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