-1
특정 키가있는 경우에만 값을 늘리고 싶습니다. 키가 존재하지 않으면 값을 1로 설정해야합니다.이 논리를 원자 단계로 구현할 수 있습니까?redis - 조건에 따라 증가 또는 재설정
특정 키가있는 경우에만 값을 늘리고 싶습니다. 키가 존재하지 않으면 값을 1로 설정해야합니다.이 논리를 원자 단계로 구현할 수 있습니까?redis - 조건에 따라 증가 또는 재설정
INCR
명령은 원하는대로 정확하게 수행합니다.
키가없는 경우 증가 작업을 수행하기 전에 값이 0으로 설정됩니다. 즉, 값은 1
으로 설정됩니다. 명령은 원자 적으로 실행됩니다.
증가 할 키가 존재 체크, 당신이 트랜잭션의 작업을 할 수있는 Lua
스크립트를 작성해야 동일한 키가 아닌 경우
UPDATE.
if (redis.call("exists", KEYS[1]) > 0) then redis.call("incr", KEYS[2]) end
키가 증가 된 값의 키가 아닙니다. –
@ nagy.zsolt.hun이 경우, 그렇게 할 수있는 방법이 없기 때문에 트랜잭션에서 작업을 수행하기 위해 Lua 스크립트를 작성해야합니다. –
@for_stack에 관계없이, ** 스크립트의 하드 코드 키 이름을 절대 쓰지 마십시오. –