ASP.Net に構築する自動提案機能を備えた検索モジュールがあります。検索条件はトレーニング名で、データベースにはトレーニングを保存するテーブルがあります。サイズはテーブルで 30,000 トレーニングにも及ぶため、パフォーマンスを念頭に置いてアプローチを選択する際には非常に注意する必要があります。
約 3000 人のユーザーがシステムに同時にログインしている可能性があります。ユーザーがトレーニング名の入力を開始すると、システムは自動提案する必要があります。
私の頭に浮かんだアプローチは次のとおりです
オブジェクトのキャッシュ - ユーザーが 3 文字 (例: saf) を入力するとデータベース ヒットが発生し、システムはアクティビティ テーブルで saf で始まるすべてのトレーニングを検索し、それらをキャッシュします。他のリクエストはこのキャッシュを通過します。しかし、このアプローチの問題は、システムを使用している 3000 人の同時ユーザーがいて、それらすべてが 3 つの異なる文字の異なる組み合わせを検索すると、キャッシュが吹き飛ばされることです。
クライアント側のキャッシング - これについてはあまり考えていませんでした。ここで見られる唯一の欠点は、一時的なインターネット フォルダーを定期的に消去する必要がある場合があることです。
セッションの使用 - パフォーマンスに影響を与えると思ったので、これを完全に除外することにしました。
私がここでとることができる最善の、または他の別のアプローチを提案してください。私はあなたがこれについて持っているすべての情報/アイデアを探しています.
どうもありがとう
ディーパ。