如果我有一个令牌会在21天后过期
Rails.cache.write token, id, expires_in: 21.days
我正在尝试编写一种方法来检查是否已过期。请给我指示
def check_token_expiry(token)
end
答案 0 :(得分:0)
如果与token/key
关联的值已过期,则以下方法将返回。
def check_token_expiry(token)
Rails.cache.read(token).nil?
end
基本上,尝试从缓存中读取值。如果已过期,则read方法将返回nil。
答案 1 :(得分:0)
在缓存期间指定expires_in: 21.days
时,您告诉基础缓存存储将给定密钥(此处为token
)的数据存储21天,在21天后过期意味着数据不再可使用您使用exist?
方法进行检查的给定密钥。
Rails.cache.exist?(token) # => true (data is available and you read)
Rails.cache.exist?(token) # => false (cache is expired, data is not available)