2013-09-12 3 views
0

У меня есть объект node/js в памяти, который я поддерживаю на диске (я использую JSON), в настоящее время с fs.writeFile().Синхронизация записи файла в узле

Если это происходит часто, как я могу гарантировать, что несколько записей в файлах не чередуются, что приводит к разложению данных? Я ничего не вижу в документах, предполагая, что fs.writeFile получает эксклюзивный доступ к файлу. Я знаю, что могу использовать синхронную версию, но это скорее поражает точку.

Я все еще довольно новичок в node.js, поэтому, пожалуйста, простите меня, если это глупый вопрос, или на него был дан ответ раньше (я искал).

Полезные советы.

Спасибо.

ответ

0

Так же, как и в любой другой среде, вам придется вручную синхронизировать их, только ваше приложение знает «логику», когда это нормально чередовать и т.д.

В других средах, можно использовать замки/семафоры, если это потоки, которые вы пытаетесь синхронизировать. В узле, не зная ничего о вашем приложении, я полагаю, что я бы выбрал очередь: каждый раз, когда вы хотите исключительно написать что-то в файл, вставить в него что-то, и иметь одного «рабочего», который удаляет и записывает.

+0

ОК, спасибо за это. Я подозревал столько же, но я посмотрю на очереди. – Sisyphus

Смежные вопросы