# 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() 存储的变量可以在多个 request 之间共享（直到该变量从 cache 中被删除）。

### 参数

`key`
  使用此名称存储变量。`key` 必须是唯一的，因此如果用 apcu_add() 存储变量时指定的 key 已经存在， 就会直接返回 `false`，不会覆写已有的数据。（这也是 apcu_add() 和 apcu_store() 之间唯一的区别。）
`var`
  被存储的变量
`ttl`
  变量生存时间（Time To Live）；被存储的 `var` 经过 `ttl` 秒后，会从存储中被删除（下一次请求时）。如果没提供 `ttl` （或 `ttl` 为 `0` ），该变量会一直存在直到手动删除它，或者其他原因导致该变量从缓存中消失（清除，重启等等。）。
`values`
  数组索引作为 key，数组值作为被存储的 var。

### 返回值

变量被成功添加时返回 TRUE，否则返回 FALSE。第二种语法返回包含添加失败的 key 的数组。

### 示例

示例 #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() - Fetch a stored variable from the cache
- apcu_delete() - Removes a stored variable from the cache

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open