CakeFest 2024: The Official CakePHP Conference

apcu_cas

(PECL apcu >= 4.0.0)

apcu_cas古い値を新しい値に更新する

説明

apcu_cas(string $key, int $old, int $new): bool

apcu_cas() は、既に保存されている整数値が old パラメータにマッチする値のときに、それを new パラメータの値に更新します。

パラメータ

key

更新する値のキー。

old

古い値 (現在保存されている値)。

new

新しく更新したい値。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 apcu_cas() の例

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

上の例の出力は、 たとえば以下のようになります。

$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

参考

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