English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis EXEC 명령어는 모든 트랜잭션 블록 내 명령어를 실행합니다.
redis EXEC 명령어 기본 문법은 다음과 같습니다:
redis 127.0.0.1:6379EXEC
>= 1.2.0
트랜잭션 블록 내 모든 명령어의 반환 값은 명령어 실행 순서대로 정렬됩니다。 작업이 중단되면 빈 값 nil이 반환됩니다。
# 트랜잭션이 성공적으로 실행되었습니다 redis 127.0.0.1:6379EXEC MULTI OK redis 127.0.0.1:6379EXEC INCR user_id QUEUED redis 127.0.0.1:6379EXEC INCR user_id QUEUED redis 127.0.0.1:6379EXEC INCR user_id QUEUED redis 127.0.0.1:6379EXEC PING QUEUED redis 127.0.0.1:6379EXEC 1) (integer) 1 2) (integer) 2 3) (integer) 3 4) PONG # key를 모니터링하고 트랜잭션이 성공적으로 실행되었습니다 redis 127.0.0.1:6379EXEC WATCH lock lock_times OK redis 127.0.0.1:6379EXEC MULTI OK redis 127.0.0.1:6379EXEC SET lock "huangz" QUEUED redis 127.0.0.1:6379EXEC lock_times 증가 QUEUED redis 127.0.0.1:6379EXEC 1) OK 2) (integer) 1 # key를 모니터링하고 트랜잭션이 중단되었습니다 redis 127.0.0.1:6379EXEC WATCH lock lock_times OK redis 127.0.0.1:6379EXEC MULTI OK redis 127.0.0.1:6379EXEC lock "joe" # 이때 다른 클라이언트가 lock_times의 값을 변경했습니다 QUEUED redis 127.0.0.1:6379EXEC lock_times 증가 QUEUED redis 127.0.0.1:6379EXEC # lock_times이 변경되었기 때문에,joe의 트랜잭션 실행이 실패했습니다 (nil)