찾다

 >  Q&A  >  본문

node.js - nodejs 멀티스레딩으로 데이터 일관성 문제를 해결하는 방법

이런 장면을 상상해 보세요. 예를 들어 테스트 테이블에는 필드가 있습니다

으아악

사용자가 편집 인터페이스를 열면 데이터베이스에서 읽은 데이터는

으아악

그리고 이름을 바꾸더니 이렇게 되었네요

으아악

현재 다른 프로그램에서는 이 테스트 테이블을 고속으로 읽고 쓰고 있습니다. 사용자가 데이터 테이블에 데이터를 저장하지 않았기 때문에 다른 프로그램에서 저장한 데이터는

으아악

카운트 필드를 41, 42, 43으로 계속 변경합니다. 이때 사용자가 수정을 완료하고 데이터를 데이터베이스에 저장했습니다. 이때 최종 저장된 데이터는

입니다. 으아악

그러면 문제가 발생합니다. . . 카운트 필드 데이터에 문제가 있습니다.

이 문제를 해결하는 방법은 무엇입니까?

1. 개수 필드를 다른 테이블로 분리한 다음 서로 방해하지 않고 두 테이블을 연결합니다. 하지만 이런 방식으로 데이터를 읽어오려면 두 개의 테이블을 읽어야 하는데, 이는 다소 번거로운 일이다.

2. 사용자가 데이터를 저장할 때 필요한 필드만 업데이트하세요. 예를 들어 count 필드는 데이터베이스에서 이전 필드를 읽습니다. 그러나 데이터 테이블에 수십 개의 필드가 있는 경우 절차가 약간 번거롭습니다.

어떻게 해결하셨나요?

ringa_leeringa_lee2760일 전587

모든 응답(1)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-06-05 11:14:48

    일반적인 거래 문제.

    어떤 데이터베이스를 사용하고 있나요? 경영학을 공부하셨나요? 사용하는 데이터베이스가 트랜잭션을 지원하는 방법을 알아보세요.

    간단히 말하면, 한 클라이언트만 읽기 및 쓰기 작업을 동시에 수행할 수 있도록 데이터를 잠그고 다른 클라이언트는 기다려야 합니다.

    회신하다
    0
  • 취소회신하다