2012-02-20 47 views
0

我有這個定期更新(一個小時左右)並存儲到memcached中的CakePHP數組。最近,我更改了數組的結構,因此在視圖中使用起來更容易,但我仍然使用相同的名稱/密鑰對其進行緩存。然而,我遇到了這個問題,偶爾看起來很棘手(數組中的數據進入一個無序列表,如果數組返回空,它將被設置爲不顯示任何內容)。Memcached存儲數據但返回無...?

奇怪的是,雖然在我的控制器代碼,我有一個(有點僞代碼)的邏輯:

$list_array = array(); 
if(cache_read('key', 'controller_name')) { 
    $list_array = &cache_read('key', 'controller_name'); 
} 
else { 
    $list_array = $this->Model->function_that_generates_the_same_array(); 
    cache_write('key', $list_array, 'controller_name'); 
} 

所以不管,數組應該被填充。

唯一改變的是數組的結構,但我不確定它是否是Memcached的錯,或者我的代碼。我傾向於memcached成爲問題,因爲我之前從未遇到過這個問題。

有什麼想法?見解?我對memcached比較陌生,所以任何幫助表示讚賞。謝謝!

回答

0

您是否嘗試過手動連接到您的memcached服務器並驗證存儲在那裏並返回的內容?

嘗試(localhost更改您的memcached服務器):

telnet localhost 11211 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
get key 
+0

是的,我有。在那。 – 2012-02-20 16:07:09

+0

如果這樣做,那麼我懷疑這個問題將與memcached。只是做一個簡單的測試,雖然...只是做一個連接到memcached的PHP頁面,獲取價值並轉儲它。如果可行,那麼還有其他問題。 – 2012-02-22 04:25:28