2014-04-02 96 views
0

我有以下測試代碼。PHP APC更新密鑰和值數組

現在它是一個非常小的陣列,但實時非常大。

我該如何更新APC FOO中直接鍵1的值?

$test = array(
    array(
     'name' => 'Mike', 
     'lastname' => 'Last', 
    ), 
    array(
     'name' => 'test', 
     'lastname' => 'testlast', 
    ), 
    array(
     'name' => 'anothertest', 
     'lastname' => 'anothertestlast', 
    ), 
); 
apc_store('foo', $test); 
print_r(apc_fetch('foo')); 

回答

2

我不認爲你可以直接在緩存中改變變量。我最好的猜測是編寫一個函數,它從緩存中獲取數據,對其進行修改,並將其存儲回緩存中。可能是這樣的:

function apc_update_array($cacheKey, $arrayKey, $array) 
{ 
    $data = apc_fetch($cacheKey); 
    $data[$arrayKey] = $array; 
    apc_store($cacheKey, $data); 
} 

使用該函數,您可以運行下面的代碼來完成它。

apc_update_array(
    'foo', 
    1, 
    array(
     'name' => 'differenttest', 
     'lastname' => 'differenttestlast', 
    ) 
);