3

我正在使用node-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 客户端上的顺序调用上是否保证顺序?或者 WATCH 会在 GET 之后发生吗?

4

2 回答 2

2

重新构建我的问题后,我意识到它肯定是保留序列的,我实际上是在重复这个问题:Redis 更新是否同步?

所以答案肯定是我不需要等待 WATCH 回调并且我的原始代码是可以的。

抱歉打扰了网络,伙计们!

于 2011-12-26T18:50:08.107 回答
1

手表总是返回 OK。http://redis.io/commands/watch

仅当您稍后使用 MULTI/EXEC 检查 EXEC 返回值时才有用。

有关 Redis 事务的更多信息,请访问http://redis.io/topics/transactions

于 2011-12-26T17:11:41.893 回答