我目前正在使用redis-store,但我很确定这是Rails'做而不是redis-store的。
在每个请求上,我在缓存日志中看到这样的项目:
1339188014.237987 (db 1) "get" "cache:http://www.domain.com/?"
1339188107.318145 (db 1) "get" "cache:https://www.domain.com/login?"
(两个单独的请求)
我只使用片段缓存(<%cache' some_key' do%> ...<%end%>)
我不使用页面缓存或动作缓存。
那么,为什么rails会看这些键呢?我找不到设置这些密钥的痕迹,而且我已经证实他们没有。
答案 0 :(得分:1)
查看:
gems/activesupport-3.2.5/lib/active_support/cache.rb
你的ruby目录中的(如果你不知道它在哪里,并且在UNIX / Mac上,你可以在命令行上输入which ruby
来找到bin目录,然后从那里上去。)
在那里抛出一个断点并调试它以查看调用堆栈。该日志来自ActiveSupport::Cache::Store#log
当我调试这个时,我发现它与Metal有关,它正在寻找一个完全缓存的页面版本。它看起来非常无害,如果你实际上没有进行页面缓存,那么它可能不会发生任何坏事。