여러 명령을 하나의 단위로 묶어 실행하는 것
multi ~ exec 사이 입력한 모든 명령은 큐에 저장됨
이후 exec 명령 날리는 시점에 한번에 실행
*exec : 큐에 쌓인 명령들을 실행하고 배열 형태로 반환(배열 요소의 각 명령의 실행 결과)
중간에 명령 취소 시 큐에 쌓인 명령들을 버림
*mutli 시점에 문법 오류가 있는 경우는 에러가 바로 반환됨
그러나 run time error 자체는 exec에서 실행됨, mutli에서는 문법 오류만 잡고 실제 실행을 하지 않기 때문
transaction 내 작업들은 함께 커밋되거나 함께 롤백되어야 한다는 특성에 대해
트랜잭션을 반영 전후로 데이터 규칙이 온전해야하지만 레디스의 경우는
비즈니스 로직의 일관성 x
ex) 음수가 되면 안되는 잔액에 대한 보장 x
트랜잭션 간 격리성 : 원자성을 보장하는 단일 스레드임에 따라 지켜짐
영속성은 aof 혹은 rdb snapshot을 통해 지원되며 이는 기본 제공은 아니며 따로 설정을 필요로 함
따라서 데이터 정합성보다 여러 작업을 한꺼번에 실행하는 용도에 의의를 둠