- ベストアンサー
ファイルとデータベースについて
一つのCGI内で、Aのデータはファイルに、BのデータはDBにと分けてデータを保存した場合は正常に動作しますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
細かな事が全く書かれていないので想定が入りますので、ご自分の仕様に合わせて読み替えてください。 単純にCGIで一連の流れとしてデータベースを更新し、ファイルに書き込むコードを書けば順番に処理をしますので正常に作用すると思います。 ただし同時に複数のアクセスがあったり、データベース更新後にファイルの書き込み異常があったときなどのエラー処理の為の考慮が必要となってきます。 トランザクション処理というものです。 データベース更新処理の初めにトランザクションを開始し、ファイル書き込み終了にコミット。エラーが発生した場合はロールバックするようにしないと、データベースは更新されているがファイルは更新されていなかったり、ファイルの書き込み途中にそのファイルを参照しに行ってしまったりと動作異常が起こります。 データベースとファイルのデータを確実に同期させる為の考慮が必要と言うことですね。 データベースのトランザクションについては使用するデータベースにより変わりますので、データベースのリファレンスを参照してください。 トランザクション処理に関しては参考URLか、ネットを検索して熟読してくさい。