0

この質問は、プログラミングの質問というよりも理論的な質問です。

私は現在、Knockout.jsを使用してシングルページのJavaScriptアプリケーションを作成中です。Knockoutを選択したのは、DOMの更新を処理する方法が気に入っているためですが、データの保存と読み込みのために独自のRESTバックエンドを作成する必要があります。

私のアプリケーションはエンタープライズアプリケーションであり、サーバーとクライアントは独自のサーバーインスタンスにインストールされ、他のユーザーとは共有されません。認証は必要なく、JavaScriptオブジェクトを保存してロードするだけで済みます。

私の当初の考えは、ストレージにMongoでnode.jsバックエンドを使用することでしたが、これは私には少しやり過ぎのようです。生のjsonをフラットファイルとして保存し、必要に応じて保存/ロードすることは悪い習慣と見なされますか?私が目にする唯一の問題は、複数のユーザーがアプリケーションを使用していて、同時にデータを保存しようとした場合です。JSONデータのマージを処理する簡単な方法はありますか?

4

1 に答える 1

0

このデータを変更できるアプリケーションへの同時アクセスがある場合は、サーバー側に保持することを強くお勧めします。アプリケーションによって異なりますが、JSONのマージは悪夢になる可能性があります。バックエンドからの同時アクセスを管理する方が良いと思います。Mongo DBは良いオプションですが、CouchDB(RESTインターフェースを提供する)とRedisも見てください。

一方、同時実行性が問題にならない場合は、HTML5ローカルストレージを確認することをお勧めします。これにより、基本的にクライアント側でキーと値のペアを保存できます。リクエストごとに送信されることはなく、より多くのデータをよりクリーンな方法で保存できるため、Cookieの優れた代替手段です。

于 2012-11-23T22:35:04.700 に答える