0

「ブログ」スタイルの投稿が掲載されたレール上のランディングページがあります。サイトで最も訪問されたページなので、アクションキャッシングを使用しています。モデルの変更時にキャッシュがクリアされます。

ただし、新しいブログ投稿を追加するときは、-future-(Tumblrのキューイング投稿)で投稿を作成できるようにしたいと思います。

したがって、モデルを観察するだけでは、キャッシュをクリアすることはできなくなります。

定期的に(30分ごとに)ジョブを実行する以外に、キャッシュを正しくクリアするためのより良い方法はありますか?

4

1 に答える 1

0

有効期限が切れるキャッシュを使用できます。キャッシュバックエンドがMemcachedの場合、この機能はデフォルトでサポートされています。それ以外の場合は、定義された時間が経過するとキャッシュの有効期限が切れる値を含むキャッシュキーを作成する必要があります。

または、他の方法に従うこともできます。publised_at <Time.now(現在の動作がこの場合に該当すると想定しています)のレコードを公開する代わりに、cronを実行してステータスデータベースフィールドを更新できます。このようにして、更新によりスイーパーがトリガーされ、キャッシュがクリアされます。

最初の解決策は実際には最良の解決策です。

于 2009-06-26T17:09:13.783 に答える