我无法缓存大型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
我正在使用 Dalli 缓存商店:
Rails.application.config.cache_store
=> :dalli_store
我甚至确保生产中的最大值应该足够大.rb 有这个:
config.cache_store = :dalli_store, { value_max_bytes: 2000000 }
然而,我在这里变得虚假:
Rails.cache.write('miauuu', sel)
=> false
知道为什么吗?感谢
答案 0 :(得分:0)
确保同时更新服务器上的Memcached配置,通常位于/etc/memcached.conf中,并使用正确的设置:
-I 2M