2

Curl を使用していくつかの e コマース Web サイトを取得し、最良の価格を探すアプリケーションがあります。このプロセスは、検索されたすべての Web サイトの価格を比較するテーブルを返します。

しかし今、私たちは問題を抱えています。ストアの数が増え始めており、ロード時間は実際にはユーザー エクスペリエンスの面で受け入れられません。(実際には 10 秒のページ読み込み)

そこで、データベースを作成し、DNS 呼び出しを減らしてページロードを増やすために、このデータベース内に Curl でフィルタリングされたすべての結果を注入し始めることにしました。

私たちのあらゆる努力にもかかわらず、Memcache モジュールを実装する利点はまだありますか? つまり、それはさらに役立つのでしょうか、それとも単に時間の無駄でしょうか?

Memcache のアイデアは、同様の問題を抱えていたある人物のこのトピックに触発されました: Memcache で高レイテンシーの Web サービス API を処理する - 良いアイデアですか?

4

2 に答える 2

1

Memcache は役に立つかもしれませんが、(私の意見では) この問題にアプローチするのはちょっと奇妙な方法です。私だったら、次のようにします。

まず、データベースにキャッシュできるものはすべて実際にキャッシュします。ユーザーが検索するとき、またはこれをトリガーする対話が何であれ、サーバーが現在持っている結果を含む「検索」ページと、非同期検索が完了するといっぱいになる進行状況バーを表示します。

AJAX を使用して、追加の結果が利用可能になったときに追加します。検索には約 10 秒かかると想像しています。それ以上かかる場合もありますが、それで問題ありません。プログレス バーがある限り、ユーザーは処理が進んでいることに感謝し、理解するでしょう。

明らかに、システムを経由する検索が増えるほど、データベース内のデータが最新になります。30 分以内にキャッシュされた結果を使用し、検索用語も記録して、上位 100 件 (またはそれくらい) の検索を常にキャッシュしておくようにしました。

顧客を知り、彼らが望むものを手に入れましょう。これは特定のテクノロジーとはあまり関係ありませんが、彼らが何を望んでいるかを予測する (または予測するソフトウェアを作成する) 能力がすべてです。

ああ、PHP がこの仕事を処理できない理由はまったくありません。無関係なインターフェイスをまとめることは、PHP が最も得意とすることの 1 つです。

于 2012-08-21T02:35:17.897 に答える
0

あなたの結果は、PHPだけの境界の外にあります。cronjob を使用してデータベースにデータを簡単に入力でき、PHP スクリプトでデータベースにクエリを実行できる場合は、わざわざ PHP で結果をハッキングしないでください。

PHP のみを使用する予定がある場合は、スクリプトを変更して、データを入力した結果からデータベースにインデックスを付けることをお勧めします。結果を入力するには、curl 機能のすべてを実行するユーザーがアクセスできない PHP スクリプトに対して cronjob ping を実行します。

于 2012-08-21T02:26:54.783 に答える