嗨,我正在尝试在 memcached 中缓存查询结果,但不幸的是我无法做到,因为该对象是 ActiveRecord::OrderedHash 对象:
result = Car.where(:brand => 'BMW').order(:model_name).group(:model_name).count(:model_name)
#=> {'120d' => 23, '316i' => 3, '525d' => 50} which is a ActiveRecord::OrderedHash if i ask .class
Rails.cache.write('cached_result', result)
这将返回以下错误:
键“cached_result”的编组错误:无法使用默认 proc 转储哈希您正在尝试缓存无法序列化到 memcached 的 Ruby 对象。/Users/nk/.rvm/gems/ruby-1.9.3-p194@au/gems/dalli-2.1.0/lib/dalli/server.rb:277:in `dump'
解决这个问题的最佳/最简单的做法是什么?