apcu_add

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

説明

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

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

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

パラメータ

key

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

var

格納する変数。

ttl

有効期間。var は、キャッシュに ttl 秒間だけ格納されます。 ttl が経過すると、格納されている変数は (次のリクエスト時に)キャッシュから削除されます。 ttl が指定されていない(あるいは ttl0 の場合)は、 キャッシュから手動で削除される・あるいはキャッシュに存在できなくなる (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