【问题标题】:Caching large ActiveRecord objects with Dalli使用 Dalli 缓存大型 ActiveRecord 对象
【发布时间】:2014-03-25 21:47:37
【问题描述】:

我无法缓存大型 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

我什至确保 production.rb 中的最大值应该足够大:

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

然而,我在这里弄错了:

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

知道为什么吗?谢谢

【问题讨论】:

    标签: ruby-on-rails caching activerecord store dalli


    【解决方案1】:

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

    -I 2M
    

    【讨论】:

      猜你喜欢
      • 2012-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多