如何查询特定片段的memcached以及如何清除所有内存缓存

时间:2012-09-19 07:25:39

标签: ruby-on-rails ruby-on-rails-3 memcached dalli

刚开始使用带有rails应用程序的memcached

我有以下片段:

<% cache("home_main", :expires_in => 1.minute) do %>

并希望通过Rails控制台查询该值,但是:

 => nil 
1.9.1 :012 > Rails.cache.read('home_main')
 => nil 
1.9.1 :013 > Rails.cache.fetch('home_main')
 => nil 
1.9.1 :014 >

我如何查询以获取该片段?或者我如何看到当前缓存键是什么?

另外,如何清除缓存?

来自Rails.cache.stats

conn_yields: '0'
 bytes: '409071'
 curr_items: '23'
 total_items: '157'
 evictions: '0'
 reclaimed: '0'
=> nil 

>Rails.cache.clear

....
>Rails.cache.stats 
...
  bytes: '409071'
  curr_items: '23'
  total_items: '157'
  evictions: '0'
  reclaimed: '0'
 => nil 
1.9.1 :017 >

我如何真正清除memcached?

THX

2 个答案:

答案 0 :(得分:1)

我认为这个链接会对你有所帮助,虽然它已经过时了但我在2-3个月前在rails console上尝试了它并且它的工作

http://railscasts.com/episodes/115-caching-in-rails-2-1

答案 1 :(得分:0)

这些是我使用的3个主要内存缓存方法:

向缓存添加值:

CACHE.set(CACHE_KEY, CACHE_VALUE)

从缓存中读取一个值:

CACHE.get(CACHE_KEY)

清除特定密钥的缓存:

CACHE.delete(CACHE_KEY)

希望这有助于......干杯。