2011-09-21 9 views
0

웹 사이트가 있고 웹 사이트의 일부가 서버에 일반 텍스트 파일을 읽고 쓰는 것이 필요합니다. 우리는 50-100 명 정도의 동시 온라인 사용자와 사이트에서 수행 한 작업을 통해 다른 페이지의 임시 보관 장소 인 특정 파일을 읽고 쓸 수 있습니다.파일 읽기 및 쓰기 동시성

동시 읽기/쓰기 충돌에 대해 알고 싶습니다. 그런 일이 발생하면이를 피하는 것이 가장 좋습니다. 내 서버가 이러한 요청을 어떻게 관리합니까?

+0

저는 Apache/PHP를 사용합니다. – silvercover

+0

이 경우 일부 데이터베이스를 사용하는 것이 좋습니다. – user973254

답변

1

웹 서버보다 중요한 것은 기본 OS와 파일 시스템입니다.

있습니다 (지원되는 상황에서) 는 차단하고 뒤에 스택 할 수있는 배타적 잠금 전혀 다른 시도를 일으키는 flock()를 사용하여 PHP에서 파일 핸들에 단독 잠금을 얻을 수 있습니다.

1

* nix 시스템의 옵션은 임시 파일을 작성하고, 파일에 쓰고, fsync()를 수행 한 다음 대상 파일 이름을 rename()하는 것입니다. 물론이 기능은 단일 작성자에게만 적용되거나 최신 작성자 만 필요로하는 경우에만 사용할 수 있습니다.