我是否需要等待调用回调以在Redis(node.js)中观看?
我正在使用我是否需要等待调用回调以在Redis(node.js)中观看?,node.js,redis,watch,Node.js,Redis,Watch,我正在使用节点redis。在这样的代码中: var store = require('redis').createClient(); store.watch('some:key'); store.get('some:key', function (err, results) { var multi = store.multi(); // COMPUTE SOMETHING WITH results multi.set('something:or:other', 25);
节点redis
。在这样的代码中:
var store = require('redis').createClient();
store.watch('some:key');
store.get('some:key', function (err, results) {
var multi = store.multi();
// COMPUTE SOMETHING WITH results
multi.set('something:or:other', 25);
multi.exec(checkAllIsWell);
});
第1-2行应该读吗
store.watch('some:key', function (err, alwaysok) {
store.get('some:key', function (err, result) {
或者,watch
会立即生效吗
编辑:稍微重新解释一下这个问题,同一个Redis客户端上的Sequential调用是否保证了顺序?或者手表会在GET之后出现吗?手表总是返回正常
只有在以后使用MULTI/EXEC检查EXEC返回值时,它才有用
有关Redis交易的更多信息,请访问重新定义我的问题后,我意识到它肯定是保留顺序的,我实际上重复了这个问题: 所以答案肯定是,我不需要等待WATCH回拨,我的原始代码也可以
抱歉打扰了大家 好的,在节点redis中,WATCH总是以OK(确定)返回(但返回true)。但问题是它是否总是生效并立即用OK返回。无论您是否等待回调,命令的顺序都应该是相同的,这才是最重要的。谢谢,@Theo帮助澄清。抱歉,似乎我误解了这个问题@Grumdrig如果不等待回调,它可能会起到类似的作用。