文字

apc_cas

(PECL apc >= 3.1.1)

apc_cas用新值更新旧值

说明

bool apc_cas ( string $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

参见

  • apc_dec() - Decrease a stored number
  • apc_store() - Cache a variable in the data store

用户评论:

[#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

上一篇: 下一篇: