수색…


소개

트랜잭션은 동일한 데이터에 동시에 액세스 할 수있는 여러 당사자 간의 조정 메커니즘을 제공합니다. 이러한 "당사자"는 서버 클러스터에서 동일한 응용 프로그램이나 노드를 실행하는 다른 사용자, 동일한 프로그램 또는 이벤트의 일부인 관리 응용 프로그램과 같은 다른 프로그램, "최종 사용자"응용 프로그램 및 / 또는 " 백엔드 "서버 로직.

분배 된 카운터

많은 사용자가 데이터베이스의 카운터를 증가시키려는 웹 응용 프로그램을 모두 실행한다고 가정 해보십시오. 각 사용자는 현재 카운트를 읽고 값을 추가하고 업데이트 된 값을 써야합니다. 다른 사람이 카운터를 읽는 동안 아무도 카운터를 읽지 않도록하려면 트랜잭션을 사용하십시오.

ref.transaction(function(value){
  if (value === null) {
    // the counter doesn't exist yet, start at one
    return 1;
  } else if (typeof value === 'number') {
    // increment - the normal case
    return value + 1;
  } else {
    // we can't increment non-numeric values
    console.log('The counter has a non-numeric value: ' + value)
    // letting the callback return undefined cancels the transaction
  }
});


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow