Ruby on rails 如何知道Memcached是否用作我的Rails.cache?

Ruby on rails 如何知道Memcached是否用作我的Rails.cache?,ruby-on-rails,caching,Ruby On Rails,Caching,我试图在DigitalOcean上的Ubuntu 14.04机器上实现缓存,我不确定是否正确设置了缓存。我在Rails控制台中看到: [2] pry(#<DigitizationsController>)> Rails.cache.write("hi", 1) Cache write: hi => 288230376151711744 [3] pry(#<DigitizationsController>)> Rails.cache.read("hi")

我试图在DigitalOcean上的Ubuntu 14.04机器上实现缓存,我不确定是否正确设置了缓存。我在Rails控制台中看到:

[2] pry(#<DigitizationsController>)> Rails.cache.write("hi", 1)
Cache write: hi
=> 288230376151711744
[3] pry(#<DigitizationsController>)> Rails.cache.read("hi")
Cache read: hi
=> 1
[4] pry(#<DigitizationsController>)> Rails.cache.class
=> ActiveSupport::Cache::DalliStore
我的终端输出似乎是从缓存中获取的,但是为什么之后会触发查询呢

Rails.cache.read('digitizations_index')
Cache read: digitizations_index
  ActsAsTaggableOn::Tag Load (0.6ms)  SELECT  tags.*, taggings.tags_count AS count FROM `tags` JOIN (SELECT taggings.tag_id, COUNT(taggings.tag_id) AS tags_count FROM `taggings` INNER JOIN submissions ON submissions.id = taggings.taggable_id WHERE (taggings.taggable_type = 'Submission' AND taggings.context = 'tags') AND (taggings.taggable_id IN (NULL)) GROUP BY taggings.tag_id HAVING COUNT(taggings.tag_id) > 0) AS taggings ON taggings.tag_id = tags.id WHERE (taggings_count > 5)  ORDER BY RAND() LIMIT 5
为什么数据库查询在命中缓存时会触发?这是因为我只缓存查询计划,当我实际调用变量时,还是当我在控制台中调用查询计划时,它会触发,而控制台会调用

我的环境有以下几行:

config.cache_store = :dalli_store
在开发过程中,我也看到了这个错误。有人知道为什么吗?我的猜测是,在开发中,我并不急于加载

 Rails.cache.read('digitizations_index')
 Cache read: digitizations_index
 Unexpected exception during Dalli request: NameError: uninitialized constant ActsAsTaggableOn::Taggable::Collection

至于为什么memcached仍在运行查询,我的猜测是,我只是在缓存查询计划,一旦调用变量,查询计划就会延迟计算。
 Rails.cache.read('digitizations_index')
 Cache read: digitizations_index
 Unexpected exception during Dalli request: NameError: uninitialized constant ActsAsTaggableOn::Taggable::Collection