Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top