1

サイト内のインデックス検索に重点を置いたサイトを作成しています。本番サーバーは非常に安価であるため、問題はクエリにあります。PHP の代わりに node.js から開発を始めるのは良い考えだと思いました。しかし、問題はずっと先にあります。

サイトのデータベースの一部(名前、姓、タグ、URL) をクライアント ブラウザーにプッシュしてローカルで検索し、データベースに新しいエントリがユーザーによって追加されるたびにライブ アップデートをプッシュし、再ほぼ 24 時間後にすべてをダウンロードします。そうすれば、サーバーは結果をクライアントに入れすぎず、代わりに新しいエントリまたはデータベースをプッシュするだけです。

それをしてもいいですか?何が必要ですか?IndexedDB を使用して、WebSQL ブラウザー用のポリフィルを追加することを考えましたが、これらのテクノロジで今日私が求めていることができるかどうかはわかりません。

4

1 に答える 1

2

IndexedDBはこの仕事に最適なツールであり、互換性が顧客ベースで機能することを前提としています。WebSQLはうらやましい代替手段ですが、すべての意図と目的において、仕様は「無効」であり、これ以上開発されないことを知っておいてください。

IDBは「インデックス付き」のJavaScriptオブジェクトストアであるため、オブジェクト属性にインデックスを追加し、のようなものを使用してこれを実行しようとすることに伴う大きなパフォーマンスオーバーヘッドなしに、オブジェクト属性全体に「カーソル」を追加できますlocalStorage。たとえば、顧客リストがあるとします。顧客オブジェクト{ 'name': 'blah', 'surname': 'McBlaherson', 'tags': [ 1, 2, 3] }を追加し、いくつかのインデックスを追加し、IDBを使用して、たとえば、すべての顧客を名前で返すことができます。

あなたが説明していることの大きな課題は、クライアントサーバーモデルの「同期」の側面を処理することです。ユーザーがブラウザと携帯電話でサイトを開いたとします。データストアをどのようにマージしますか?簡単そうに聞こえますが、そうではないことを保証します(そのためgit、他のバージョン管理システムはとても魔法のようです)。

于 2013-01-29T15:39:58.407 に答える