Android 앱용 RESTful API
을 개발해야하며 슬림 프레임 워크를 사용하여 PHP를 사용하기로 결정했습니다.슬림 앱 (PHP) : 영구/캐시 데이터를 저장해야합니다.
일부 배경은 현재 클라이언트 응용 프로그램이 요청할 때마다 서버가 일부 DB 작업을 수행하고 페이로드를 만듭니다. 이것은 응용 프로그램 사용량이 많은 시간대에 서버에 많은 부하를줍니다. 그래서이 페이로드를 캐시하고 요청이있을 때마다 사용할 수있는 방법을 찾고 있습니다. 이 캐시는 읽기 횟수에 비해 거의 업데이트되지 않습니다 (관리자가 DB 변경시에만).
이를 테스트하기 위해 나는 다음과 같은 코드를 시도, index.php를$app->flag = 1;
그리고 엔드 포인트에서
$app->get("/getContent", function() use ($app){
if($app->flag == 1){
echo 'Changing value';
$app->flag = 0;
return;
}
echo $app->folder;
});
는 "값 변경"인쇄되면 이상적인 케이스가 될 것이다 그 후 처음으로 0이됩니다. 그러나 '$app->flag
'의 값은 끝점의 시작 부분에서 항상 1
입니다. 엔드 포인트에 대한 연속 호출간에 데이터를 유지하려면 어떻게해야합니까?
또한 매번 파일에 페이로드를 저장하고 엔드 포인트 요청을 처리하기 위해 I/O를 수행하는 것이 좋습니다 (관리자가 파일을 업데이트하려고 시도 할 경우 I/O 예외가 발생합니다. 끝점에서 클라이언트에 대해 읽는 중입니까?)
저는 PHP에 상당히 익숙하며, 똑같은 것을하기 위해 통찰력이나 다른 아이디어에 진심으로 감사 할 것입니다.
php- apcu (키/값 캐싱을 위해 이전 php-apc와 동일한 인터페이스를 사용합니다). 이렇게하면 파일 대신 메모리에 캐시가 저장됩니다 (훨씬 훨씬 느림). 자세한 내용은 다음을 참조하십시오. http://php.net/manual/en/book.apcu.php –
데이터 구조와 유형은 무엇입니까? – krasipenkov
데이터가 거의 업데이트되지 않고 피크 시간에만 문제가 발생하는 경우 [HTTP 캐싱] (http://www.slimframework.com/docs/features/caching.html)을 사용하지 않으시겠습니까? –