PHP Conference Japan 2024

apcu_store

(PECL apcu >= 4.0.0)

apcu_store 將變數快取到資料儲存區

說明

apcu_store(字串 $key, 混合 $var, 整數 $ttl = 0): 布林值
apcu_store(陣列 $values, 混合 $unused = NULL, 整數 $ttl = 0): 陣列

將變數快取到資料儲存區。

注意事項 與 PHP 中的許多其他機制不同,使用 apcu_store() 儲存的變數會在請求之間持續存在(直到該值從快取中移除)。

參數

key

使用此名稱儲存變數。每個 key 在快取中都是唯一的,因此使用相同的 key 儲存第二個值將會覆蓋原始值。

var

要儲存的變數

ttl

存活時間(Time To Live);將 var 儲存在快取中 ttl 秒。在 ttl 秒數過後,儲存的變數將會從快取中清除(在下一個請求時)。如果沒有提供 ttl(或者 ttl0),該值將會持續存在,直到它被手動從快取中移除,或因其他原因而不再存在於快取中(例如清除、重新啟動等)。

values

鍵值對,鍵為名稱,值為變數。

傳回值

成功時傳回 true,失敗時傳回 false。第二種語法會傳回包含錯誤鍵的陣列。

範例

範例 #1 apcu_store() 範例

<?php
$bar
= 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

以上範例將輸出

string(3) "BAR"

另請參閱

新增註釋

使用者貢獻的註釋 1 則註釋

2
info at qmegas dot info
3 年前
在同一個請求中使用設定的 ttl 更新同一個鍵時要小心。例如:
<?php
for ($i = 0; $i < 20; $i++) {
apcu_store('test', $i, 10);
sleep(1);
}
?>

金鑰將在 10 秒後失效且不會更新。已在 Windows 和 Linux 平台上測試。不確定這是錯誤還是未記錄的行為。
To Top