我做了一些谷歌搜索,找不到这个问题的答案。 Rails 允许为其缓存指定到期时间,如下所示:
Rails.cache.fetch("my_var", :expires_in => 10.seconds)
但是如果我什么都不指定会发生什么:
Rails.cache.fetch("my_var")
永不过期?有默认值吗?如何明确定义永不过期的东西?
最佳答案
这实际上取决于您使用的缓存存储。 Rails 提供了几种,其中最受欢迎的是 Memcached . Memcached 的主要特性之一是它 automatically expires old unused records ,所以你可以忘记 :expire 选项。
其他 Rails 缓存存储,如内存存储或 redis 存储将不会过期,除非您明确指定何时这样做。
More about how cache key expiration works in Rails.
关于ruby-on-rails - Rails 缓存的默认到期时间是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14404584/