Параллельность в чтении и записи файлов - PullRequest
0 голосов
/ 21 сентября 2011

У меня есть веб-сайт, и часть моего веб-сайта нуждается в чтении / записи простого текстового файла на сервере.В большинстве случаев у нас от 50 до 100 одновременно работающих пользователей в Интернете, и их действия на нашем сайте приводят к чтению / записи определенного файла, в котором он является временным заполнителем для некоторых других страниц.

Итак, я хочу знать о параллельных конфликтах чтения / записи и о том, как лучше избегать этого, если это произойдет.Как мой сервер управляет этими запросами?

Ответы [ 2 ]

1 голос
/ 19 октября 2011

Опция в * nix системах - создание временного файла, запись в него, fsync () его, а затем переименование () в целевое имя файла. Конечно, это работает только для одного автора, или если вам нужен только последний автор.

1 голос
/ 19 октября 2011

Более важной, чем веб-сервер, является базовая ОС и файловая система.

Вы можете (при поддерживаемых обстоятельствах) получить эксклюзивную блокировку для дескриптора файла в PHP, используя flock () , в результате чего все другие попытки эксклюзивной блокировки блокируются и укладываются за ней .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...