投稿を持っているユーザーがいて、各ユーザーがニュース フィードを表すビューを持ち (ログインした Tumblr アカウントとよく似ています)、各投稿の概要に、投稿ごとのコメント カウンターを含むコメントへのリンクがあるシナリオでは、ここで最適なキャッシング戦略は何ですか (Rails 4 スタック上)?
5 人のユーザー、ABCDE を想定し、それぞれが右側の 2 人のユーザーに登録されており (A は B と C に登録され、B は C と D に登録されているなど)、登録したユーザーのみが表示されます。ニュース フィード ビュー。
編集:
post
各ユーザーが Redis で (投稿 ID の) 一意のセットを持ち、作成ごとに新しい投稿の ID が投稿作成者の友人のすべてのセットに追加される、ファンアウト オン ライト アプローチが採用されていると仮定します。 . redis セットはインデックスとして機能し、ユーザーのフィードは単一の SQL クエリを介して取得されます。
これを念頭に置いて、各フィードをキャッシュすることは、次のアプローチの問題である必要があります。
- redis で設定をチェック (最初のヒット)
@feed_array
memcached への書き込み- 単一の SQL コマンドで投稿を取得して保存する
@feed
@feed
memcached への書き込み- redis で設定を確認する (2 回目のヒット)
- 設定値が一致する場合、memcached から
@feed_array
戻ります。@feed
それ以外の場合は、新しい SQL クエリと@feed
memcachedでのオーバーライド
このアプローチは、div を反復処理するときにビューのキャッシュを簡単に使用できることを意味します@post
が、コメント数をどのように処理するのでしょうか?