SunshinePHP Developer Conference 2015

apc_cas

(PECL apc >= 3.1.1)

apc_casUpdates an old value with a new value

Descrição

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.

Parâmetros

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em caso de falha.

Exemplos

Exemplo #1 apc_cas() example

<?php
apc_store
('foobar'2);
echo 
'$foobar = 2'PHP_EOL;
echo 
'$foobar == 1 ? 2 : 1 = ', (apc_cas('foobar'12) ? 'ok' 'fail'), PHP_EOL;
echo 
'$foobar == 2 ? 1 : 2 = ', (apc_cas('foobar'21) ? 'ok' 'fail'), PHP_EOL;

echo 
'$foobar = 'apc_fetch('foobar'), PHP_EOL;

echo 
'$f__bar == 1 ? 2 : 1 = ', (apc_cas('f__bar'12) ? 'ok' 'fail'), PHP_EOL;

apc_store('perfection''xyz');
echo 
'$perfection == 2 ? 1 : 2 = ', (apc_cas('perfection'21) ? 'ok' 'epic fail'), PHP_EOL;

echo 
'$foobar = 'apc_fetch('foobar'), PHP_EOL;
?>

O exemplo acima irá imprimir algo similar à:

$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

Veja Também

add a note add a note

User Contributed Notes 1 note

up
8
Piet Delport
3 years ago
In case anyone is puzzled by the function name, "cas" refers to http://en.wikipedia.org/wiki/Compare-and-swap
To Top