In case anyone is puzzled by the function name, "cas" refers to http://en.wikipedia.org/wiki/Compare-and-swap
apc_cas
(PECL apc >= 3.1.1)
apc_cas — Updates an old value with a new value
설명
bool apc_cas
( string $key
, int $old
, int $new
)
apc_cas() updates an already existing integer value if the old parameter matches the currently stored value with the value of the new parameter.
인수
- key
-
The key of the value being updated.
- old
-
The old value (the value currently stored).
- new
-
The new value to update to.
반환값
성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.
예제
Example #1 apc_cas() example
<?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
Piet Delport
09-Mar-2011 12:25
