【发布时间】:2016-09-18 07:53:09
【问题描述】:
我正在使用 Rails 4.2.1 和 memcached。我似乎无法缓存哈希。如何缓存哈希?
irb(main):039:0*
irb(main):040:0* Rails.cache.fetch("development_test") do
irb(main):041:1* 'hi'
irb(main):042:1> end
Cache read: development_test
Cache fetch_hit: development_test
=> "hi"
irb(main):043:0> Rails.cache.fetch("development_test")
Cache read: development_test
=> "hi"
irb(main):044:0> Rails.cache.fetch("development_test") do
irb(main):045:1* {'x' => 3}
irb(main):046:1> end
Cache read: development_test
Cache fetch_hit: development_test
=> "hi"
irb(main):047:0> Rails.cache.fetch("development_test")
Cache read: development_test
=> "hi"
irb(main):048:0>
【问题讨论】:
-
您将获得相同的值 (
"hi"),因为这是您缓存的值。这是在缓存失效之前您将获得的值(这就是缓存的整个点)。如果要缓存不同的值,则需要使缓存无效或使用不同的键。
标签: ruby-on-rails ruby caching hash memcached