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