JavaScript应用程序存储最佳实践

时间:2012-11-23 22:29:29

标签: javascript knockout.js storage

这个问题更像是理论问题,而不是编程问题。

我目前正在使用Knockout.js编写单页javascript应用程序。我选择Knockout因为我喜欢它处理DOM更新的方式,但它确实需要你编写自己的REST后端来进行数据存储和加载。

我的应用程序是一个企业应用程序,其中服务器和客户端将安装在它自己的服务器实例上,而不与任何其他用户共享。它不需要身份验证,只需要保存和加载JavaScript对象。

我最初的想法是使用带有Mongo的node.js后端进行存储,但这对我来说似乎有些过分。将原始json保存为平面文件并根据需要保存/加载会被视为不好的做法吗?我看到的唯一问题是多个用户是否正在使用该应用程序并尝试同时保存数据。有没有一种简单的方法来处理JSON数据的合并?

1 个答案:

答案 0 :(得分:0)

如果有可以修改此数据的应用程序的并发访问,我肯定会建议将它保留在服务器端。这取决于您的应用程序,但合并JSON很可能会成为一场噩梦。我相信从后端管理并发访问会更好。 Mongo DB是一个不错的选择,但是看看CouchDB(提供REST接口)和Redis。

另一方面,如果并发不是问题,您可能需要检查HTML5本地存储,这基本上允许您在客户端存储键/值对。它是Cookie的绝佳替代品,因为它不会在每个请求中发送,并允许您以更干净的方式存储更多数据。