2010-12-07 13 views
0

ウェブサービスからデータを取得するページでajaxtoolキットのオートコンプリートを使用しました。このオートコンプリートは遅いですが、テーブルに10〜20のレコードしかなく、オートコンプリートで検索して結果を表示するのに約3〜5秒かかります。データを見るには平均で約4秒待たなければなりません。ajaxtoolkitをオートコンプリートしてクライアント側でバインドする方法

私はそれを超高速にする方法がわかりません。クライアント側でオートコンプリートをバインドすることは可能ですか?私の考えは、サーバーからページを読み込んでデータを取得し、それをJavaScriptの配列に入れ、ユーザーがクリックするとクライアント側からデータを取得するというものです。

答えて

1

問題は、Webサービスからデータが取得されていて、数秒かかる場合があることです。サーブレット自体のデータをHasmapやListにキャッシュしておき、定期的に(2分ごとに)Webサービスを呼び出して最新の情報を取得するのはなぜですか?

したがって、オートコンプリートプラグインが最新のオートコンプリートデータをリクエストすると、Webサービスからの実際の値ではなくキャッシュされた値が返されます。

+0

私に返信してくれてありがとう。 Apache Fanは、JSONと同じように、Webサービスからデータを取得する方が速いとは思っていません。私は確信していないが、Webサービスでしか動作しないajaxtookitオートプレイを使用しています。ご案内ください。一度agianに感謝します。 – haansi

+1

オートコンプリート項目のリストを作成するためにどのようなビジネスロジックを実行していますか? My Pointは、リストをキャッシュして定期的にリストを再作成すれば、実際にパフォーマンスを向上させることができるということです。 – Pushkar

1

私はいくつかのサイトが別のページにハッシュマップ/リストを保存し、そのページをオートコンプリート機能から参照することに気付きました。したがって、そのページの読み込みには影響はなく、オートコンプリートは非常に高速です(ほとんど瞬間的に)。また、そのリストを1分/時間/日/月/年に1回あなたの居場所に維持することができ、ユーザーの寛容さとは完全に独立しています。

関連する問題