©
本文档使用
php.cn手册 发布
(PECL apc >= 3.1.1)
apc_cas — 用新值更新旧值
$key
, int $old
, int $new
) 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
[#1] Piet Delport [2011-03-09 12:25:40]
In case anyone is puzzled by the function name, "cas" refers to http://en.wikipedia.org/wiki/Compare-and-swap