PHP8 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