transactions을 웹에서 처리하는 일반적인 방법은 각 요청을 트랜잭션으로 래핑하는 것입니다. Django에서는이 동작을 활성화하려는 각 데이터베이스의 구성에서 ATOMIC_REQUESTS
을 True로 설정할 수 있습니다.`@ transaction.non_atomic_requests '에 적합한 요청 유형은 무엇입니까?
다음과 같이 작동합니다. Django는 뷰 함수를 호출하기 전에 트랜잭션을 시작합니다. 문제없이 응답이 생성되면 Django는 트랜잭션을 커밋합니다. 뷰가 예외를 생성하면 Django는 트랜잭션을 롤백합니다.
이 트랜잭션 모델의 단순성은 매력적이지만 트래픽이 증가 할 경우 비효율적입니다. 모든보기에 대한 트랜잭션 열기에는 약간의 오버 헤드가 있습니다.
transactions으로 묶을 필요가없는 요청의 경우 @transaction.non_atomic_requests
데코레이터를 적용 할 수 있습니다.
Django view.py
에는 여러 가지보기 클래스와 요청 방법이 있습니다. 어떤 요청이 비 원자 장식자를위한 좋은 후보자가 될지 결정하는 방법에 대해 어떻게 생각하나요?
"잡았다"는 숨어있을 수 있습니다.
나는 과 함께 좋은 후보자 또는 아무것도하지 않는 방법을 볼 수 있었지만 그 외 무엇을주의해야합니까?