0

大きな 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

理由はありますか?ありがとう

4

1 に答える 1