2015-07-22 243 views

回答

0

在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