Ruby on Rails缓存:在执行时间内是否可以增加缓存碎片的到期时间?

问题描述:

我正在使用Ruby on Rails 3,并希望在执行期间增加缓存键的到期时间。我使用memcachedRuby on Rails缓存:在执行时间内是否可以增加缓存碎片的到期时间?

例如,我有

Rails.cache.write("key_test", "value_test", :expires_in => 10.seconds) 

使得key_test将在10秒内期满。为了使关键的价值更长,我能做什么?是否有可能只增加expires_in而不再设置value_test


下面的代码不起作用,但也许我必须做这样的事情:

Rails.cache.write("key_test", :expires_in => 10.seconds) 
+0

什么,你可以和不要做太多取决于你实际使用的缓存后端。你用什么? – 2011-03-03 12:27:42

+0

@Mörre对不起,我忘了。我使用memcached。 – user502052 2011-03-03 12:32:26

+0

要更改过期时间,您必须再次输入密钥/值。 – 2011-03-03 12:41:58

这将工作:

Rails.cache.write('key_test', Rails.cache.read('key_test'), :expires_in => 10.seconds)