多个进程可以访问我的redis商店。添加新的用户哈希时,我执行以下步骤:
如何将这些步骤捆绑到交易中?
const client = require('redis').createClient();
client.on("connect", () => {
const multi = client.multi();
multi.incr("userId", (userId) => {
console.log("new userId is %s", userId); // TODO userId should not be null
multi.set("user:"+userId, {name:"UserName"} );
});
multi.exec(); // TODO after the execution I expect to see the key user:null using redis-cli, but it does not exist
});
答案 0 :(得分:0)
您不能在同一事务中使用对事务的操作的回复,但在您的情况下也不需要这样做 - INCR
操作是原子操作并保证返回无竞争独特的价值。