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

我正在使用Dalli缓存存储:

Rails.application.config.cache_store
 => :dalli_store

我什至确保生产中的最大值应该足够大。 rb有这个:

config.cache_store = :dalli_store, { value_max_bytes: 2000000 }

然而,我在这里变得错误:

Rails.cache.write('miauuu', sel)
=> false

知道为什么吗?谢谢

4

1 回答 1

0

确保还使用正确的设置更新服务器上的 Memcached 配置,通常位于 /etc/memcached.conf 中,在您的情况下:

-I 2M
于 2015-02-09T07:42:00.570 回答