apcu_cas

(PECL apcu >= 4.0.0)

apcu_cas使用新值更新旧值

说明

apcu_cas(string $key, int $old, int $new): bool

apcu_cas() 更新已存在的整数值,如果 old 参数与当前存储的值匹配,则使用 new 参数的值更新。

参数

key

正在更新的值的键。

old

旧值(当前存储的值)。

new

要更新的新值。

返回值

成功时返回 true,失败时返回 false

范例

范例 #1 apcu_cas() 范例

<?php
apcu_store
('foobar', 2);
echo
'$foobar = 2', PHP_EOL;
echo
'$foobar == 1 ? 2 : 1 = ', (apcu_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo
'$foobar == 2 ? 1 : 2 = ', (apcu_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;

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

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

apcu_store('perfection', 'xyz');
echo
'$perfection == 2 ? 1 : 2 = ', (apcu_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;

echo
'$foobar = ', apcu_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 则备注

匿名
6 年前
范例中的输出为

$f__bar == 1 ? 2 : 1 = fail

但实际上应该是

$f__bar == 1 ? 2 : 1 = ok

第一次运行代码时,缓存为空,apcu_cas 允许插入键。
To Top