2012-05-24 5 views
0

내 브라우저의 3 가지 탭에서 1 초마다 새로 고치는 스크립트가 있습니다. 스크립트가 파일을 열고 읽은 다음 다시 씁니다.동일한 파일을 여러 개 fopen하고 동일한 파일을 동시에 씁니다. PHP?

이 문제로 데이터 일관성을 유지할 수있는 방법이 있습니까? 아니면 PHP가 iself를 처리합니까?

탭 a를 열어 편집하고 쓰는 경우 탭 b가 열리고 오래된 데이터를 가져 오는 경우 어떻게됩니까? 당신은 다른 인스턴스와 동시에 파일을 열 수 있습니다

답변

1

사용 flock.

파일을 쓸 때 둘 다 작업을 수행하고 적시의 순서에 따라 작업을 수행합니다.

파일에 데이터를 로깅하려면 현재 인스턴스의 정보를 로그 데이터와 함께 입력하십시오.

파일이 이미 열려있는 경우 작업을 수행 할 필요가없는 경우이를 확인하는 플래그를 만드십시오. 또는 flock 옵션을 PHP에서 제공하십시오. 플래그는 데이터베이스 또는 파일로 저장할 수 있습니다. 작업이 완료되면 플래그를 제거하십시오. 작업을 시작하기 전에 플래그 상태를 확인하십시오.

0

동시성을 처리 할 수 ​​

관련 문제