• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    해결됨

트랜잭션(multi) 질문입니다.

23.10.28 16:26 작성 23.10.29 15:11 수정 조회수 180

0

Multi 사용시 key 나 로그인한 세션에 lock 이 걸리진 않나요?

 

트랜잭션이 유지되는 시간이 있나요? 무한정 트랜잭션이 끝나길 기다리진 않을 것 같습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요! 레디스 트랜잭션은 lock을 잡지 않습니다. 트랜잭션 중간에 다른 클라이언트의 요청이 끼어들 수 없다는 말은 다수의 명령어가 원자적으로 처리된다는 뜻이지 특정 자원에 대한 Lock을 통해 읽기/쓰기를 제한한다는 의미는 아닙니다.

레디스 트랜잭션은 MULTI 명령어에서 알수 있듯이 다수의(multiple) 명령어를 원자적으로 실행하는 기술입니다. 트랜잭션을 열고 EXEC 명령어가 실행되기 전에 클라이언트의 연결이 끊기면 queued 된 명령은 실행되지 않습니다.

좀 더 자세한 내용은 레디스 문서에서 확인하실 수 있습니다!
https://redis.io/docs/interact/transactions/