ほとんどの場合、すべての重要なオブジェクトを常にキャッシュし、更新/作成時にのみこれらのオブジェクトを更新する「リアクティブ」キャッシュを実装しています。 jbuilderを使用して、ほとんどのjsonをhttps://github.com/rails/jbuilderと対話させています。彼らは非常にまっすぐ前方キャッシュビューのフラグメントキャッシュのミラーリングを含んでいます。Ruby on Rails - キャッシュキーから「テンプレートツリーダイジェスト」を削除することは可能ですか?
私の問題はこれです。キャッシュされたオブジェクトを保存するときは、モデルの更新後にそれらを削除できるように、取得可能なキーを使用する必要があります。最初は簡単だったようだが、問題を引き起こした。 Rails.cache.delete_matcherは動作していないようで、expire_fragmentに正規表現を渡すことも同じです。
私が見ることができる唯一の解決策は、キャッシュキーの最後から「テンプレートツリーダイジェスト」を削除できることです。
現実世界の例では、
にのJBuilder/V3 /ユーザー/ 38から20170809004706672937000 /パフォーマー/ 1493168から20170823184135817877000/d84abdae117cd787b8204fd744e7dc06
に変換されるだろう
jbuilder/v3/users/38- 20170809004706672937000 /パフォーマー/ 1493168から20170823184135817877000
(d84abdae117cd787b8204fd744e7dc06バイバイ)
これは、複製し、したがって、削除するキーが簡単になるだろう。 これも可能ですか?私はこの鍵を入れることの重要性を忘れていますか?どんな助けでも大変感謝しています!!!私はあなたがすべてのあなたのキャッシュ
元にskip_digestオプションを追加することができ、彼女の
「はテンプレートがそれをダイジェストキーキャッシュの端からダイジェストを削除し
はキャッシュに追加されますキーは、テンプレートファイル全体の内容のmd5を取ることによって計算されます。これにより、テンプレートファイルを変更するとキャッシュが自動的に期限切れになります。 - まだそれを削除することは良いアイデアだと思いますか? – max
もっと良いアイデアは、Eタグとリバースプロキシを使用することです。 – max