大きな ActiveRecord オブジェクトをキャッシュできません。小さいものでも大丈夫です:
sel = Car.select("id, `key`, value").limit(1000)
Rails.cache.write('miauuu', sel)
=> true
しかし、それらが少し大きくなった場合:
sel = Car.select("id, `key`, value").limit(10000)
Rails.cache.write('miauuu', sel)
=> false
ただし、サイズはそれほど大きくありません。
ObjectSpace.memsize_of(sel)
=> 272
私はダリキャッシュストアを使用しています:
Rails.application.config.cache_store
=> :dalli_store
production.rbでは、最大値が十分に大きくなければならないことも確認しました。
config.cache_store = :dalli_store, { value_max_bytes: 2000000 }
それでも、私はここで偽になっています:
Rails.cache.write('miauuu', sel)
=> false
理由はありますか?ありがとう