在同一请求期间使用设置的 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 平台上测试。不确定是错误还是未记录的行为。