Rails.cache.fetch没有将新数据写入缓存

时间:2017-06-26 19:07:09

标签: ruby-on-rails ruby class caching

从rails中的API缓存一些数据时遇到问题。我不知道我是否误解了低级缓存,或者我的设置是否无法实现。

def initialize
# Podio authentication
Rails.cache.fetch("podio_companies_#{Time.now.end_of_year.to_s(:number)}/connection", expires_in: 1.year) do
  Podio.setup(api_key: API_KEY, api_secret: API_SECRET)
  Podio.client.authenticate_with_credentials(CLIENT_EMAIL, CLIENT_PASSWORD)
end

self.podio_companies = Rails.cache.fetch("podio_companies_#{Time.now.end_of_hour.to_s(:number)}/data", expires_in: 1.hour) do
  Podio::Item.find_all(PODIO_APP_ID, limit: 130)[0]
end

当expires_in(1小时)中设置的时间用完时,变量为nil且不会刷新。

0 个答案:

没有答案