apc_cas
(PECL apc >= 3.1.1)
apc_cas — 古い値を新しい値に更新する
説明
bool apc_cas
( string
$key
, int $old
, int $new
)
apc_cas() は、既に保存されている整数値が old
パラメータにマッチする値のときに、それを new
パラメータの値に更新します。
パラメータ
-
key -
更新する値のキー。
-
old -
古い値 (現在保存されている値)。
-
new -
新しく更新したい値。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例1 apc_cas() の例
<?php
apc_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apc_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apc_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;
echo '$f__bar == 1 ? 2 : 1 = ', (apc_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
apc_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apc_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;
echo '$foobar = ', apc_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
参考
- apc_dec() - 保存した数値を減らす
- apc_store() - 変数をデータ領域にキャッシュする