CakeFest 2024: The Official CakePHP Conference

apcu_cas

(PECL apcu >= 4.0.0)

apcu_casUpdates an old value with a new value

Beschreibung

apcu_cas(string $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.

Parameter-Liste

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

Beispiel #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;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$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

Siehe auch

add a note

User Contributed Notes 1 note

up
-7
Anonymous
6 years ago
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.
To Top