現在、既に存在するキャッシュ内のアイテムを置き換える手段として APC の「apc_store」機能を利用していますが、TTL がリセットされるかどうかはわかりません。TTL値をリセットしないようにしたいのですが。
1359 次
1 に答える
1
apc_store で指定した TTL は、既存のアイテムの TTL を確実に上書きします。TTL を指定しない場合、アイテムは期限切れになりません。
TTL は相対的で、今からの秒数です。固定値が必要な場合は、すべての apc_store 呼び出しで同じ値を使用してください。
アイテムを絶対時間で期限切れにする場合は、オブジェクトに時間を保存し、毎回 TTL を計算する必要があります。例えば、
$obj = apc_fetch($key);
if (!$obj) {
$obj = new MyObject();
$obj->expiry = time() + 24*60*60; // Expires 24 hours later
}
$ttl = $obj->expiry - time();
if ($ttl <= 0) {
// Item expired
} else {
apc_store($key, $obj, $ttl);
}
于 2010-06-30T04:49:28.690 に答える