2016-10-05 93 views
1

某處在我的應用我用讓rails的到期時間緩存項

Rails.cache.write 'some_key', 'some_value', expires_in: 1.week 

在我的應用程序的另一部分我想弄清楚有多少時間是留給該緩存項。

我該怎麼做?

+0

它是內部緩存存儲,所以你不能。但是,您可以更新ttl以獲取某些緩存存儲(例如memcached的touch) – MikDiet

+0

我使用Redis。有沒有辦法在那裏「觸摸」緩存項目? – blackst0ne

+0

在redis中,它被稱爲'expire'(如果你使用'redis-rb'適配器https://github.com/redis/redis-rb/wiki/Redis-rb-Overview) – MikDiet

回答

1

哇。我剛到這裏尋找這個。真是可恥的答案是否定的。

然後,我不喜歡我的解決方案是緩存到期。

Rails.cache.write 'some_key', ['some_value', 1.week.from_now], expires_in: 1.week 

我想這不是世界末日,除非你必須記住它被存儲爲一個數組。

或者,您可以使用可緩存模塊將功能抽象一點。那麼你不必「記住」任何東西。