Is this pattern legal?

$redis->watch('foo');
$var1 = $redis->get('foo');

$redis->watch('bar');
$var2 = $redis->get('bar');


$redis->multi();
$redis->mset(['foo' => 42, 'bar' => 9001]);
$redis->exec();

Or second watch call cancels first watching state?

有帮助吗?

解决方案

This pattern is legal. From redis documentation

WATCH can be called multiple times. Simply all the WATCH calls will have the effects to watch for changes starting from the call, up to the moment EXEC is called. You can also send any number of keys to a single WATCH call.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top