Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Object::fsyncSync()メソッドの使い方

fsyncSyncメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

fsyncSyncメソッドは、指定されたファイルのメモリ上のデータやメタデータといった変更内容を、物理的なストレージに強制的に書き込む操作を実行するメソッドです。

ファイルにデータを書き込む際、オペレーティングシステムは通常、パフォーマンス向上のため、書き込み要求をすぐに物理ディスクに反映させるのではなく、メモリ上のバッファに一時的に保持します。これにより、複数の書き込み操作をまとめて効率的に処理できます。しかし、このバッファにデータが残っている状態でシステムがクラッシュしたり、電源が喪失したりすると、最新のデータがディスクに保存されていないため、データが失われる可能性があります。

fsyncSyncメソッドは、このようなリスクを防ぐために使用されます。引数として渡されたファイルディスクリプタ(開かれたファイルを識別する番号)に対応するファイルの、バッファにあるすべての変更データを、そのファイル自身のメタデータを含めて、確実に物理ディスクに書き込みます。これにより、たとえシステムが予期せず停止しても、fsyncSyncの呼び出しが成功していれば、データが物理ストレージに永続的に保存されていることが保証されます。

このメソッドは「同期」という名前が示す通り、ディスクへの書き込みが完了するまで、Node.jsのプログラムの実行を一時的に停止させます。そのため、データベースのトランザクション処理や、アプリケーションの重要な設定ファイルの保存など、データの永続性と整合性が極めて重要となる場面で利用されますが、頻繁な利用はアプリケーションの応答性に影響を与える可能性があるため、その特性を理解して適切に使用することが推奨されます。

構文(syntax)

1const fs = require('node:fs');
2
3const fd = fs.openSync('temp_fsync_example.txt', 'w+');
4
5fs.writeSync(fd, 'Example data for fsyncSync.');
6
7fs.fsyncSync(fd);
8
9fs.closeSync(fd);

引数(parameters)

fd

  • fd: number: 同期処理を行うファイルディスクリプタ

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語