Добрый день, знатоки.
Как правильнее решать задачу контроля за юзерами мелкого провайдера. Сейчас все данные о юзерах лежат в текстовом файле и каждому юзеру отведена одна запись. При входе его в систему файл считывается и определяется можно ли его пропускать. Практически все скрипты только читают эту базу, не изменяя информации. Исключение - скрипты добавления (удаления) юзеров и времени.
Все операции по смене данных производятся так - файл полностью считывается в память, модифицируется и записывается в сторонке под временным именем. Затем скрипт пытается заменить старый файл на новый, пока это ему не удасться.
Все бы ничего, но иногда возникает ситуация, когда данные в файл не записываются. Происходит это редко и в случайные моменты времени. Но беспокоит.
Отсюда и вопрос - что делать ? Я пока вижу такие варианты - добавить в скрипты принудительный сброс буферов на диск, использование floc() и вообще переход к какой нибудь СУБД.
Что посоветуете?