1

平均的なタブレットで実行される単一ページのアプリケーションを作成しているので、リソースはそれほど多くありません。

ユーザーがイベントハンドラーを引き出すたびにサーバーに連絡するのではなく、最初にアプリケーションに必要なすべてのデータを取得し、それを TaffyDb (ローカルの JavaScript データベース) に保存し、ローカルでクエリを実行することを考えています。

速度/メモリの点でどちらが優れているのだろうと思っていました。TaffyDb にローカルに保存されたすべてのデータ、または必要になるたびに関連情報を取得します。データは単純な JSON オブジェクトで、最大 10 個です。

4

2 に答える 2

1

それはすべて依存します。

データは静的ですか? 時間の経過とともに変化しますか?静的な場合は、ローカル側ですべて定義してください。

ただし、データが変更され、それが理由でデータをリモートで取得する必要がある場合は、ローカル データベースまたは localStorage を「キャッシュ メカニズム」の一部として使用することをお勧めします。

たとえば、SPA にデータが必要な場合は、最初にローカル キャッシュで検索します。存在するが古すぎる場合は、リモート データベースにクエリを実行してデータを更新します。ただし、キャッシュ内のデータがまだ新しい場合は、再利用してください。

そのため、キャッシュ メカニズムを実装すると、リモート データベースへの呼び出しを減らすことができます。

于 2014-07-31T20:26:21.550 に答える
1

各 HTTP 要求の実行には、約 40,000 のマシン命令が必要であるという見積もりを見ました。携帯だともっと高いと思います。

しかし、別の側面に注目したいと思います。モバイル アプリケーションには次の 4 種類があります。

  1. 接続 (常に);
  2. 時々切断されます。
  3. ときどきつながります。
  4. 切断されました。

それぞれのケースには独自の戦略が必要です。たとえば、#3 では、ローカル DB と何らかの同期手段が確実に必要になります。#2 の場合、単純な 15 分 (またはその程度) の有効期限を持つローカル キャッシュがあれば十分です。

#3を選ぶ傾向にあるようです。次に、クライアント/サーバーの同期について考える必要があります。これは、一部のデータ アーキテクチャでは非常に重要な場合があります。

于 2014-07-31T20:33:58.100 に答える