新規の変数をデータ領域にキャッシュする

# apcu_add

(PECL apcu >= 4.0.0)

apcu_add — 新規の変数をデータ領域にキャッシュする

### 説明

apcu_add ( string `$key` , mixed `$var` [, int `$ttl` = 0 ] ) : bool
apcu_add ( array `$values` [, mixed `$unused` = NULL [, int `$ttl` = 0 ]] ) : array

まだ保存されていない場合にのみ、変数をデータ領域にキャッシュします。

> 注意: PHP の他の多くの仕組みと異なり、apcu_add() を用いて格納された変数はリクエストを超えて （その値がキャッシュから取り除かれるまで）持続します。

### パラメータ

`key`

  この名前を用いて変数を格納します。`key` は キャッシュ内で一意です。そのため、apcu_add() を使用して同一の `key` で新しい値を格納しようとしても、それは保存されません。 かわりに `FALSE` が返されます (これが、apcu_add() と apcu_store() の唯一の相違点です)。

`var`

  格納する変数。

`ttl`

  有効期間。`var` は、キャッシュに `ttl` 秒間だけ格納されます。 `ttl` が経過すると、格納されている変数は （次のリクエスト時に）キャッシュから削除されます。 `ttl` が指定されていない（あるいは `ttl` が 0 の場合）は、 キャッシュから手動で削除される・あるいはキャッシュに存在できなくなる （clear, restart など）まで値が持続します。

`values`

  名前をキー、変数を値に指定します。

### 返り値

何かがキャッシュに正しく追加されたときに TRUE、それ以外の場合に FALSE を返します。 二番目の構文は、エラーになったキーを含む配列を返します。

### 例

例1 apcu_add() の例

`<?php
$bar = 'BAR';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
?>`

上の例の出力は以下となります。

    string(3) "BAR"
    string(3) "BAR"

### 参考

- apcu_store() - 変数をデータ領域にキャッシュする
- apcu_fetch() - 格納されている変数をキャッシュから取得する
- apcu_delete() - 格納されている変数をキャッシュから取り除く