The output in the example says:
$f__bar == 1 ? 2 : 1 = fail
but in reality it should be:
$f__bar == 1 ? 2 : 1 = ok
the first time the code is ran as the cache is empty and apcu_cas allows the key to be inserted.
(PECL apcu >= 4.0.0)
apcu_cas — Updates an old value with a new value
$key
, int $old
, int $new
) : bool
apcu_cas() updates an already existing integer value if the
old
parameter matches the currently stored value
with the value of the new
parameter.
key
The key of the value being updated.
old
The old value (the value currently stored).
new
The new value to update to.
Întoarce valoarea true
în cazul
succesului sau false
în cazul eșecului.
Example #1 apcu_cas() example
<?php
apcu_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apcu_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apcu_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;
echo '$f__bar == 1 ? 2 : 1 = ', (apcu_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
apcu_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apcu_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;
echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;
?>
Exemplul de mai sus va afișa ceva similar cu:
$foobar = 2 $foobar == 1 ? 2 : 1 = fail $foobar == 2 ? 1 : 2 = ok $foobar = 1 $f__bar == 1 ? 2 : 1 = fail $perfection == 2 ? 1 : 2 = epic fail $foobar = 1