2017-12-30 52 views

답변

1

INCR 명령은 원하는대로 정확하게 수행합니다.

키가없는 경우 증가 작업을 수행하기 전에 값이 0으로 설정됩니다. 즉, 값은 1으로 설정됩니다. 명령은 원자 적으로 실행됩니다.

증가 할 키가 존재 체크, 당신이 트랜잭션의 작업을 할 수있는 Lua 스크립트를 작성해야 동일한 키가 아닌 경우

UPDATE.

if (redis.call("exists", KEYS[1]) > 0) then redis.call("incr", KEYS[2]) end 
+0

키가 증가 된 값의 키가 아닙니다. –

+0

@ nagy.zsolt.hun이 경우, 그렇게 할 수있는 방법이 없기 때문에 트랜잭션에서 작업을 수행하기 위해 Lua 스크립트를 작성해야합니다. –

+1

@for_stack에 관계없이, ** 스크립트의 하드 코드 키 이름을 절대 쓰지 마십시오. –