• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • apc_cas()

    (PECL apc >= 3.1.1)

    用新值更新旧值

    说明

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

    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
    

    参见

    In case anyone is puzzled by the function name, "cas" refers to http://en.wikipedia.org/wiki/Compare-and-swap