[25] pry(main)> Rails.cache.fetch("my_key", :expires_in => 1.year) do
[25] pry(main)* (Time.now.to_date).to_s
[25] pry(main)* end
=> "2013-11-01"
[28] pry(main)> Rails.cache.fetch("my_key")
=> nil
我无法理解上述行为。缓存在此之前没有这个键,或者更确切地说是nil
.
expires_in
如果我删除该选项,这会很好。
这是我的应用程序的生产版本,它使用memcached
# Use a different cache store in production
config.cache_store = :mem_cache_store, <DNS NAME>
这也适用于我的本地,我希望它是基于文件系统的缓存。
编辑:啊,1.year
也许太长了..它适用于1.day
. 这是一个错误还是记录在某处?
编辑:这似乎1.month
是持续时间形式的最大值。但这仍然不能被接受的行为
Memcache 最大密钥过期时间