English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Redis EXEC 명령어

Redis 트랜잭션

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)

Redis 트랜잭션