先了解如下
命令用于取消事务,放弃执行事务块内的所有命令。
用于执行所有事务块内的命令。
用于标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
用于取消 WATCH 命令对所有 key 的监视。
用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断
代码如下:
$redis = new \Redis();
$redis->connect("127.0.0.1",6379,5);
$redis->auth("sw6s2re2d2is");
$redis->watch("num");
//$redis->incr("num");
$res=$redis->multi()->incrBy("num",5)->setex("name",3600,'test')->get('name')->exec();
var_dump($res);
结果分析:
这行代码 $redis->incr("num") 是为了模拟在使用watch命令监听一个key之后修改了他的值,结果打印
bool(false)
如果注释这行代码打印
array(3) { [0]=> int(18) [1]=> bool(true) [2]=> string(6) "test" }