我無法在開發或生產環境中從控制檯看到緩存中的任何內容。控制檯的Rails緩存沒有任何返回無
對於開發,我打開緩存並將其設置爲內存存儲,在生產中我使用Heroku上的dalli gem和Memcachier。
我試過的每個鍵都回零。
然而,在發展中,如果我把一個binding.pry
某個地方我做了Rails.cache.fetch
之前,我可以做一個Rails.cache.read
那裏看到的東西回來,確實如果是這樣,執行不轉到fetch
的塊。
從控制檯中,如果我嘗試Rails.cache.read
與剛剛在pry
斷點控制檯中返回緩存結果的密鑰相同,我什麼也沒得到。看起來控制檯有一個單獨的緩存,好像從控制檯我做Rails.cache.write("whatever", "blah")
和Rails.cache.read("whatever")
,我得到「blah」作爲回報,如預期的那樣。
有沒有辦法從控制檯嘗試正在運行的服務器的緩存?
好吧,這對開發很有用,但我仍然沒有收到任何產品,但我會接受你的回答,因爲它確實回答了我問的問題。對於視圖中的片段緩存,我在HAML中執行' - cache(「the_key」)「操作,我可以使用Rails.cache.read從控制檯訪問它嗎?即使在切換到文件存儲之後,即使在開發過程中,也不是如此。我怎樣才能得到這個緩存的東西? –
NM,我發現我自己的答案,使用'ActionController :: Base.new.fragment_cache_key(「the_key」)'我得到稍微修改後的緩存鍵(在這種情況下,與'查看/'前置),並且可以讀取與'Rails.cache.read'和那個修改過的或者只有'ActionController :: Base.new.read_fragment(「the_key」)'用未修改的密鑰來讀取。感謝您的回答! –