2015-09-01 93 views
0

我使用緩存存儲的Redis在軌清除在軌高速緩存,但不刪除一切

Rails.cache.clear確實會清除緩存,但基本上除去一切都在Redis的東西。

有沒有辦法在沒有完全刪除redis中的所有內容的情況下過期所有緩存鍵?

+0

你不能配置你的緩存使用不同的redis數據庫? – dimakura

+0

我可以,也許應該,但我不知道是否有一種方法來清除只緩存的項目,而不是整個數據庫... –

+1

我不知道,但可能不是。 Rails如何知道哪些密鑰被緩存使用,哪些被另一個程序使用? – dimakura

回答

-1

,如果你知道的鑰匙已經,你可以去這樣

# delete a single key 
Rails.cache.delete(:key) 

# delete many keys 
Rails.cache.delete_if {|k, v| k =~ 'key' } 

實際上Rails.cache鍵只是{}哈希,所以你可以用任何一種方法ruby.hash去。(希望我沒有錯)

+0

最終多數民衆贊成我所做的'Rails.cache.delete_if {| k,v | k.start_with?('views')}' –

+0

應該工作,我認爲 –