前提・実現したいこと
Node.jsにてSocket.IOを利用した純粋なチャットアプリを作成しています。
ユーザーから送信されたメッセージをMySQLデータベースへ保存したいと思っているのですが、Node.jsは非同期処理で且つmysqlライブラリもfunctionを利用するので、例えばユーザーからほぼ同時に100件などのメッセージがきた場合に接合性のあるデータ保存が可能なのか疑問があります。正しく保存を完了する前に次の処理へ行くのではないかと思いました。
実際どうなのでしょうか?
よろしくお願い致します!
該当のソースコード(Expressのwwwにコード記述)
Javascript
1// ここにデータベース接続処理 2 3// 以下、Socket.IOの例 4var socketio = require('socket.io'); 5 6server.on('listening', onListening); 7var io = socketio.listen(server); 8 9io.on('connection', function (socket) { 10 socket.on('chat message', function (data) { 11 // MySQL データベースへ送信されたメッセージを保存 12 connection.query('INSERT INTO `message` (text) VALUES (?)', [data], function (error, results, fields) { 13 if (error) console.log(error); 14 }); 15 }); 16});
回答2件
あなたの回答
tips
プレビュー