先了解如下
命令用于取消事務(wù)蜕煌,放棄執(zhí)行事務(wù)塊內(nèi)的所有命令泣矛。
用于執(zhí)行所有事務(wù)塊內(nèi)的命令间坐。
用于標(biāo)記一個事務(wù)塊的開始。事務(wù)塊內(nèi)的多條命令會按照先后順序被放進一個隊列當(dāng)中榕吼,最后由 EXEC 命令原子性(atomic)地執(zhí)行。
用于取消 WATCH 命令對所有 key 的監(jiān)視勉失。
用于監(jiān)視一個(或多個) key 羹蚣,如果在事務(wù)執(zhí)行之前這個(或這些) key 被其他命令所改動,那么事務(wù)將被打斷
代碼如下:
$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);
結(jié)果分析:
這行代碼 $redis->incr("num") 是為了模擬在使用watch命令監(jiān)聽一個key之后修改了他的值乱凿,結(jié)果打印
bool(false)
如果注釋這行代碼打印
array(3) { [0]=> int(18) [1]=> bool(true) [2]=> string(6) "test" }