2013-04-24 6 views
4

재발행을 처음입니다. 내가 트랜잭션을 만드는 여러 redis 명령을 가지고있는 응용 프로그램이 있습니다. 그들 중 하나가 실패하면 redis는 관계형 데이터베이스와 같은 트랜잭션을 롤백합니까? 트랜잭션을 롤백하는 것은 사용자의 책임입니까?Redis 거래 롤백

답변

4

Redis는 관계형 데이터베이스처럼 트랜잭션을 롤백하지 않습니다.

관계형 데이터베이스 배경이있는 경우 트랜잭션 중 Redis 명령이 실패 할 수 있지만 여전히 Redis는 롤백 대신 나머지 트랜잭션을 실행하므로 사용자에게 이상하게 보일 수 있습니다.

  • 레디 스 잘못을 잡고 잘못된 구문으로 호출 (그리고 문제가 대기 명령 기간 동안 감지되지 않음) 경우, 또는 키에 대한 유일한 실패 할 수 있습니다 명령 :

    그러나이 동작에 대한 좋은 의견이 있습니다 데이터 유형 : 이것은 실용적인 측면에서 실패한 명령은 프로그래밍 오류의 결과이며 개발 중에는 프로덕션 환경에서가 아니라 오류가 발생할 가능성이 매우 높음을 의미합니다.

  • Redis는 롤백 할 필요가 없으므로 내부적으로 단순화되고 빠릅니다.

Why redis does not support rollback transactions 문서에서here에서 그것을 확인하십시오.