在 Rails 中每天缓存一个值的最佳方法是什么?
我有一个可通过 API 访问的数据库调用,我想每天制作并存储它。
做到这一点的最佳方法/做法是什么?
假设你有一个widget_price
您只想每 24 小时更新一次。通常你使用Widget.calculate_daily_price
获取每日价格,但运行时间太长,会减慢您的网页速度。
widget_price = Widget.calculate_daily_price
使用 Rails.cache.fetch 包装该调用,并在 24 小时内使结果过期。
widget_price = Rails.cache.fetch('widget_price', expires_in: 24.hours) do
Widget.calculate_daily_price
end
现在,如果 widget_price 已被缓存,则将使用缓存的值并且该块将被忽略。如果运行时缓存已过期,则将执行该块并将缓存设置为新值并持续 24 小时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)