Redis Transaction 문서 번역 Redis Transactions는 MULTI, EXEC, DISCARD, WATCH를 사용하여 명령어 그룹을 한번에 실행해 주며, 다음 두가지 사항을 보장한다. 트랜잭션 환경 에서 모든 명령어들은 serialized 되어 순서대로 실행된다. 다른 client가 실행한 요청이 중간에 실행 되는 일은 없다. 이것은 명령어가 single isolated 하게 동작하도록 보장한다. EXEC 명령어는 트랜잭션 안에서 다른 명령어를 실행시킨다. 그래서 client가 EXEC을 실행 시키지 않은 채 레디스와 연결이 끊겼다면 다른 명령어들은 실행 되지 않는다. 대신, EXEC 명려어가 실행 되면 모든 명령어들은 실행 된다. append-only file(persistence..
고객사로부터 특정 요청이 간헐적으로 실패가 난다는 이슈가 접수되었다. 로그를 확인해보니 Deadlock exception 발생하고 있었고 이슈를 해결하며 찾아보며 알게된 것들을 정리한다. 환경 DB MariaDB Engine InnoDB Isolation Level Repeatable Read 현상 톰캣 catalina 로그를 확인해보면 아래와 같은 exception 나고 있었다. exception내용 : Deadlock found when trying to get lock; try restarting transaction 일단 exception메시지를 보면 lock을 가져오려 하는데 Deadlock이 발생하여 트랜잭션을 재시작하겠다 정도로 해석할 수 있다. 당장 떠오른 해결방법은 두가지 였고, 장단점은..
- Total
- Today
- Yesterday