2

私は、ユーザーがお互いをフォローできるソーシャルネットワーキングアプリに取り組んでいます。

処理を高速化するために、ユーザーのプレビューと全ページビューにフラグメントキャッシュを追加しました。

良いニュースは、アプリが本当に速くなったということです。悪いのは、フォローボタンに関連するバグが発生し始めたことです。

実際、すべてのユーザーのプレビューと全ページビューには1つのフォローブロックがあり、ユーザーがログインしているか、自分のプロファイルを表示しているか、他のユーザーが既にフォローしていることを確認しているか、他のユーザーがまだフォローしていないかを確認する4つの状態があります。

この問題に対処するために、4つの異なる状態(=ユーザーごとに8つの異なるキャッシュフラグメント)のそれぞれで、各ユーザーのプレビューとフルページビューの異なるキャッシュバージョンを使用することを終了しました。問題はなくなりましたが、これは最適とはほど遠いものだと思わずにはいられません。

次に、動的フラグメントキャッシングに関するRyan BatesのRailscastについて聞いて、考え始めました。

たぶん、ajaxを介してフォローボタンだけをロードできます。しかしその後 ...

  • ボタンごとに1つのリクエストを行う必要がありますか?
  • たくさんのリクエストを防ぐために、それらをすべて集める必要がありますか?どのように ?
  • もっと良い方法はありますか?

どう思いますか ?:)

4

1 に答える 1

1

ボタンごとに1つのリクエストを行う必要がありますか?

いいえ、ボタンごとに1つのリクエストよりもはるかに高速であるため、これらをバンドルする必要があります

たくさんのリクエストを防ぐために、それらをすべて集める必要がありますか?どのように ?

はい、1つのページに表示されるすべてのオブジェクトを知っているので、フォローするユーザーのすべてのIDを収集し、フォローされている状態を尋ねることができるはずです。

もっと良い方法はありますか?

私が考えることは何もありませんが、それはより良い方法がないという意味ではありません。

于 2012-05-28T10:34:11.833 に答える