更新后获取最新的mysql数据

时间:2019-06-05 04:30:50

标签: mysql node.js node-mysql

我正在使用MySQL Node和Redis Stream接收传入的更新消息。调用API端点时,将使用UPDATE查询来更新数据。如果我调用SELECT查询以检索数据,则我obtained old data before update。因此,我使用redis流来广播传入的消息,并使用setTimeout 5秒钟来执行SELECT查询。它可以工作,但有时由于MySQL数据库更新而无法实现。

更新查询

await connection.queryAsync('UPDATE ' + dbconfig.property_table + ' SET ? WHERE id = ?',[data,id]);
broadcastMessage('updateProperty',{ id }); // broadcast method send id to incomingMessage

Redis流

export async function broadcastMessage (stream, event) {
 await redis.xadd(stream, event) // xadd custom Redis prototype for streaming message
}

// incomingMessage
setTimeout(() => {
  await updateProperty(id);
},5000); // after 5 seconds received incoming message, get latest property  and update to other place.

问题

  

在单个Express API中更新后获取最新属性数据不一致。

在通过SELECT查询的单个API中,是否仍要检索(UPDATE)最新数据?

0 个答案:

没有答案