2012-02-20 8 views
0

주기적 (1 시간 정도)으로 업데이트되고 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 서버에 수동으로 연결하고 거기에 저장된 결과를 확인하고 반환 했습니까?

시도합니다 (memcached를 서버로 변경 로컬 호스트) :

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

그래, 내가있다. 저기에있어. –

+0

그 다음 문제가 memcached 함께있을 것이라고 의심되는 경우 작동합니다. 그냥 간단한 테스트를하겠습니까 ... 그냥 memcached에 연결하는 PHP 페이지를 만들고, 값을 가져 와서 그것을 덤프. 그게 효과가 있다면 문제가되는 다른 것이있을 것입니다. –

관련 문제