gpt4 book ai didi

ruby-on-rails - 获取Rails缓存项的过期时间

转载 作者:行者123 更新时间:2023-12-03 16:08:42 25 4
gpt4 key购买 nike

我在我的应用中的某处使用

Rails.cache.write 'some_key', 'some_value', expires_in: 1.week

在我的应用程序的另一部分中,我想弄清楚该缓存项还剩下多少时间。

我怎么做?

最佳答案

这不是合法的方法,但是可以:

expires_at = Rails.cache.send(:read_entry, 'my_key', {})&.expires_at
expires_at - Time.now.to_f if expires_at
read_entryfetchreadexists?和其他方法在幕后使用的 protected 方法,这就是我们使用 send的原因。

如果根本没有条目,它可能会返回 nil,因此请在rails中使用 try,或者将 &.用于安全导航,或者将 .tap{ |e| e.expires_at unless e.nil? }用于旧 ruby 。

结果,您将得到类似 1587122943.7092931的信息。这就是为什么需要 Time.now.to_f的原因。使用Rails,您也可以使用 Time.current.to_f

关于ruby-on-rails - 获取Rails缓存项的过期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39868775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com