node_redis クライアントを使用して、2 番目のコマンドが最初のコマンドの結果に依存しているときに、2 つのコマンドがアトミックに実行されるようにするにはどうすればよいですか。
これが私が考えていることの例です。
client.multi([
["hget", orgId, topicId]
]).exec(function (err, sessions) {
sessions = JSON.parse(sessions);
if (sessions === undefined) {
sessions = [sessionId];
}
else {
sessions.push(sessionId)
}
client.hset(orgId, topicId, JSON.stringify(sessions)]);
});
これが2か所で同時に実行された場合、新しい値を書き戻す競合状態が発生しないことを誰かが確認できますか?