2012-06-08 53 views
1

我目前使用的是redis-store,但我很確定這是Rails的做法,而不是redis-store的。爲什麼rails緩存會檢查每個頁面請求的URL?

每個請求我看到在緩存中的日誌這樣的項目:

1339188014.237987 (db 1) "get" "cache:http://www.domain.com/?" 
1339188107.318145 (db 1) "get" "cache:https://www.domain.com/login?" 

(兩個獨立的請求)

我只使用片段緩存(<%緩存 'some_key' 做% > ... <%end%>)

我是而不是使用頁面緩存或操作緩存。

那麼,鐵路爲什麼會看着這些鑰匙?我可以找到沒有設置這些鍵的痕跡,我已經證實他們是零。

回答

1

查找範圍:

gems/activesupport-3.2.5/lib/active_support/cache.rb 
在ruby目錄

(如果你不知道這是和是在UNIX/Mac上,你可以在命令行上which ruby找到bin目錄,然後去從那裏開始。)

在那裏拋出一個斷點並調試它以查看調用堆棧。該日誌來自於行526 ActiveSupport::Cache::Store#log

當我調試此,我發現它與金屬有關,它正在尋找一個完全緩存版本的頁面。它看起來非常無害,如果你實際上沒有做頁面緩存,它可能會發生任何不好的事情。

相關問題