2012-03-20 7 views
7

私は非常に特定のキャッシュ状況があります。私たちはいくつかのキャッシュソリューションを使用していますが、ユーザーアクションでキャッシュを無効にする最適なソリューションは何か疑問です。 CDNは、ログアウトしたユーザーのためのHTMLとしてキャッシュを正しい方法で無効にするにはどうすればよいですか?

  • 第二層の完全なページをキャッシュします:

    キャッシュはそう

    • まず層のようなものですログアウトしたユーザーのためのmemcachedでフルページキャッシュを 私は2番目の層を持っている理由は、エッジに応答することです、時にはすべてのエッジがキャッシュされていないので、私はキャッシュからも同様に "答え"したいです。

    • 第3層:ログインしたユーザーのキャッシュHTML部分データとデータベースデータ。

    私の問題は私の無効化処理は、非常に今、第三の層に基づいていることである、と私は十分に第2及び第1層に答えていません。

    私の質問は、絶対にURLと結合していないキャッシュキーから完全なURLのキャッシュを無効にするにはどうすればよいですか?たとえば、旅行プランの中に旅行プランがある場合、コメントがあります。ユーザーが新しいコメントでコメントすると、全面旅行プランのURLが無効になります。

    コメントモデルにはURLはなく、「親」にもURLはありません。都市ページにも同じコメントが表示されるため、完全に再利用可能なオブジェクトと部分的です。

  • 答えて

    3

    私は、37signals blogのDavid Heinemeier Hanssonによるブログの一部を読んでいます。

    問題を解決するには、ページ上のすべての異なるオブジェクトをキャッシュしてから、CSSとJSを使用してビューをカスタマイズします。

    • first post DHHは、Basecampの新しいインターフェイスを非常に速くするために使用したテクノロジを使用しています。
    • second postでは、キーベースの有効期限がどのように機能するかを調べます。

    あなたの問題は解決しないかもしれませんが、あなたが与えた説明では、少なくともあなたにいくつかのヒントを与えるかもしれないと思います。

    +2

    これは実際には非常に優れた解決策であり、キャッシュの考え方を変えました。このスレッドを開始した人がまだこれらの投稿を読んでいない場合、彼はすべきです。それは彼が必要とするもののように聞こえる(何かが変化した場合にページ全体を無効にする)。 –

    関連する問題