从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且不会刷新。