ここでキャッシュについて多くの質問をしましたが、誰も答えません。だから多分私はこれについて答えがあるでしょう。
私は次のような検索モデルコードを持っています:
users = users.where('id >?', my_value)
Rails.cache.fetch('my_cached',expires_in: 3.minutes) do
users = users.order('current_sign_in_at DESC')
end
誰かが私にこれが何をするのか説明してもらえますか? これにより、ソートされたユーザーテーブルが返され、3分間キャッシュに入れられるので、次の検索が必要なときに有効期限が切れていなければ my_cached の結果が返されると思いました。
しかし、それはそのようには機能しません。一部のユーザー ログインと current_sign_in_at が変更されると、キャッシュが上書きされ、新しいクエリが返されます。