我已经实现了基于http://robots.thoughtbot.com/caching-api-requests的API缓存。我正在使用内存作为存储。如何在不重新启动服务器的情况下手动重置缓存?
我尝试过使用Rails.cache.clear
,但似乎没有用。数据仍然从缓存中提取。我通过观察服务器日志检查了我的puts
消息(如下所示)。
缓存代码:
module Meh
class Api
include HTTParty
#...
cache_name = options[:path] + "/" + options[:params].values.join(",")
response = nil
APICache.get(cache_name, cache: 3600) do
response = self.class.get options[:path], query: options[:params]
# For future debugging
puts "[API] Request: #{response.request.last_uri.to_s}"
# Just return nil if there's an error with the request, for now
if response.code == 200
response.reverse!
else
response = nil
end
end
end
答案 0 :(得分:1)
您是否尝试过'rake tmp:cache:clear'或手动删除tmp / cache /的内容?
您是否尝试从代码中删除缓存内容?
通过api_cache gem读取,看起来这是一个内存缓存,而不是文件缓存。这与您的报告一致。看起来APICache api上还有一个.delete方法。链接所以APICache.delete(cache_name)可能正是您要找的。 p>