2012-11-23 26 views
0

与编程相比,此问题更具理论性。JavaScript应用程序存储最佳实践

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

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

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

+0

我认为“合并”是否合适取决于数据和业务规则。允许并发用户编辑相同的数据是一个复杂的主题,需要考虑具体的用例。 – goat

+0

为什么不使用IndexedDB API? –

回答

0

如果有可以修改这些数据的应用程序并发访问,我肯定会建议将它保留在服务器端。这取决于你的应用程序,但合并JSON很可能会成为一场噩梦。我相信从后端管理并发访问会更好。 Mongo DB是一个不错的选择,但请看看CouchDB(它提供了REST接口)和Redis。另一方面,如果并发不是问题,则可能需要检查HTML5本地存储,它基本上允许您在客户端存储键/值对。这是Cookie的一个很好的选择,因为它不会在每个请求上发送,并允许您以更清晰的方式存储更多数据。

+0

感谢您的提示。 CouchDB正是我正在寻找的 - 一个简单的数据库,无需中间人。 – CheapDevotion