在同一请求期间使用设置的 ttl 更新相同的键时要小心。例如
<?php
for ($i = 0; $i < 20; $i++) {
apcu_store('test', $i, 10);
sleep(1);
}
?>
10 秒后,该键将不可用,并且不会更新。在 Windows 和 Linux 平台上测试。不确定是错误还是未记录的行为。(PECL apcu >= 4.0.0)
apcu_store — 将变量缓存到数据存储中
将变量缓存到数据存储中。
注意: 与 PHP 中许多其他机制不同,使用 apcu_store() 存储的变量将在请求之间持续存在(直到从缓存中删除该值)。
key使用此名称存储变量。 key 在缓存中是唯一的,因此使用相同 key 存储第二个值将覆盖原始值。
var要存储的变量
ttl生存时间;在缓存中存储 var ttl 秒。超过 ttl 后,存储的变量将从缓存中清除(在下一次请求时)。如果未提供 ttl(或 ttl 为 0),则该值将持续存在,直到手动将其从缓存中删除或在缓存中不存在(清除、重启等)。
values键名在 key 中,变量在 value 中。
示例 #1 apcu_store() 示例
<?php
$bar = 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>以上示例将输出
string(3) "BAR"
在同一请求期间使用设置的 ttl 更新相同的键时要小心。例如
<?php
for ($i = 0; $i < 20; $i++) {
apcu_store('test', $i, 10);
sleep(1);
}
?>
10 秒后,该键将不可用,并且不会更新。在 Windows 和 Linux 平台上测试。不确定是错误还是未记录的行为。