【发布时间】:2013-03-09 02:36:19
【问题描述】:
我一直在努力找出 Rails 是否设置了一些默认过期时间,以防我们在将键值对存储到内存缓存时不提供任何时间? 例如Rails.cache.write('some-key', 'some-value')
如果我们没有指定,rails 会默认设置一些过期时间吗?
【问题讨论】:
标签: ruby-on-rails memcached dalli
我一直在努力找出 Rails 是否设置了一些默认过期时间,以防我们在将键值对存储到内存缓存时不提供任何时间? 例如Rails.cache.write('some-key', 'some-value')
如果我们没有指定,rails 会默认设置一些过期时间吗?
【问题讨论】:
标签: ruby-on-rails memcached dalli
【讨论】:
MemCacheStore 只是对 Dalli 的一个薄包装。
如果您使用 Rails 提供的默认内置 MemCacheStore 类,则不需要。当您创建新的缓存条目时,它不会假定到期时间。您可以read the applicable code 进行验证。它会检查您是否已将 expires_in 选项传递给 #write 方法,例如
Rails.cache.write("key", "content", expires_in: 2.hours)
如果没有,只需将 0 传递给 memcache,表示没有过期时间。希望这会有所帮助!
【讨论】: