2016-08-29 13 views
0

asd이 어느 시점에서 만료된다고 가정 해 봅시다.redis 서버가 lua 스크립트의 명령 사이에 만료 된 키를 삭제합니까?

local a = EXISTS asd 
local b = EXISTS asd 

이 같은 사실 ab 거짓을 가질 수 있습니다 :
그리고 클라이언트가이 루아 스크립트를 실행?
스크립트 또는 MULTI 명령이 실행되는 동안 만료 된 키 삭제가 발생하지 않는다고 확신합니까?

컨텍스트 : 다른 사용자에 대한 쿼리가 처리하는 데 시간이 오래 걸리는 사이트를 만들고 있습니다. 그래서 이러한 쿼리를 생성하여 몇 가지 키에 저장하고 x 분 후에 만료시켜 요청시 다시 생성되도록했습니다.

주어진 쿼리가 만료되었는지 확인하고 다시 생성하는 스크립트가 있습니다. 이런 식으로 뭔가 : (편집)

local e = EXISTS query 
if e == "1" then 
    -- generate query results 
end 
-- return results 
+1

@RyanVincent 그래, 물론 문제는 없습니다. – Erandros

답변

2

정답 :

이 아니, 불가능하다 :) 시간은 스크립트의 실행 중에 동결됩니다.

틀린 대답 :

네, 가능합니다. 만료는 키에 액세스 할 때마다 확인/시행됩니다.

관련 문제