0
我正在從ehcache遷移到redis。在ehcache中有一個默認方法來爲一個鍵設置空閒時間(setTimeToIdle()而不是setTimeToLive())。是否有任何相同的等同於在redis中設置空閒時間?如果沒有任何工作可以實現同樣的目標? 在此先感謝從ehcache遷移到redis:相當於redis中的ehcache setTimeToIdle()
我正在從ehcache遷移到redis。在ehcache中有一個默認方法來爲一個鍵設置空閒時間(setTimeToIdle()而不是setTimeToLive())。是否有任何相同的等同於在redis中設置空閒時間?如果沒有任何工作可以實現同樣的目標? 在此先感謝從ehcache遷移到redis:相當於redis中的ehcache setTimeToIdle()
在Redis中沒有這樣的命令,只能設置生存時間。但是你可以做一個簡單的解決方法,你將不得不使用2個命令,首先設置新的ttl然後返回密鑰。並且您希望這兩個命令是原子的,因此您可以使用lua腳本或事務(使用MULTI http://redis.io/commands/multi)。
下面是一個檢查,如果如果是設置一個到期的10秒,返回值的「鑰匙」存在LUA腳本示例,否則返回-1:
local redis_key = redis.call('get', 'key')
if redis_key then
redis.call('expire', 'key', '10')
return redis_key
end
return -1
您將需要推動這樣一個腳本使用http://redis.io/commands/eval