2011-08-13 9 views
3

PHP에서 JSON 파일의 변수를 캐싱하려고합니다. 좋은 자습서를 알고 있거나 예제를 제공 할 수있는 사람이 있습니까? 변수에PHP에서 변수 캐시하는 방법

file_put_contents('cache.txt', json_encode($variable)); 

읽기 캐시 :

+1

영구 캐싱을 작동 할 수 페이지로드 중) 또는 페이지로드 중일 때만? – Ben

+0

원격 서버에 대한 여러 JSON 데이터 요청. – lockdown

답변

4

저장 변수는 캐시를 파일로

$variable = json_decode(file_get_contents('cache.txt')); 
+0

그래서이 댄 이전에 파일을 쓸 영역을 만들어야합니까? 원격 서버에 변경 사항이있는 경우 변수에 만료를 설정하는 좋은 방법을 알고 있습니까? – lockdown

+0

집에서 모서리를 쓸어 버리고 하드 드라이브를 넣는 것처럼 말입니까? ;) 아니요, 컴퓨터가 파일을 PHP 스크립트와 동일한 디렉토리에 저장합니다. 'time()'(현재 시간)과'filemtime ('cache.txt')'(파일의 수정 시간)을 비교하여 만료시킬 수 있습니다. –

+0

감사합니다. 나는 한 발을 내줄 것이다. – lockdown

1

Memcached가 당신의 최선의 방법이다. 직렬화 가능한 데이터를 매우 빠른 캐시에 저장합니다. 당신은에서 자습서를 찾을 수 있습니다

http://php.net/manual/en/memcache.examples-overview.php

그것은 번개 빠른 단지 서버에 txt 파일을 저장하는 것보다 더 나은 수 많은 다른 기능을 가지고 있습니다.

$memcache->set('key', $jsonstring, false, 10) 

$get_result = $memcache->get('key'); 
1

간단한 방법은 다음과 같습니다

function getMyJson() 
{ 
    $data = apc_fetch('my_json', $wasCached); 
    if ($wasCached) { 
     return $data; 
    } 
    $data = json_decode(file_get_contents('/path/to/data.json')); 
    apc_store('my_json', $data); 
    return $data; 
} 

이는 APC의 캐시를 사용하지만 당신은 사이에 저장 (memcached와 함께 유사하게, 레디 스 등

관련 문제