apc_cas()
(PECL apc >= 3.1.1)
用新值更新旧值
说明
apc_cas(string $key,int $old,int $new): bool
apc_cas()如果key存在,并且key当前存储的整数等于$old,就使用$new更新key当前存储的整数。
参数
- $key
- 需要被更新的 key。 
- $old
- key当前值。 
- $new
- 指定的更新值。 
返回值
成功时返回TRUE,或者在失败时返回FALSE。
范例
Example #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()Decrease a stored number
- apc_store()Cache a variable in the data store
In case anyone is puzzled by the function name, "cas" refers to http://en.wikipedia.org/wiki/Compare-and-swap
