안녕하세요.
외부 페이지 캐시를 이용하려고하고 있습니다.
<?php
function getMyDataFromAPI()
{
$cache_key = 'aaaaaaaa';
$data = Rhymix\Framework\Cache::get($cache_key);
if ($data)
{
return $data;
}
// 실제 API를 불러오는 내용
$data = json_decode($response, true);
$ttl = 3600;
Rhymix\Framework\Cache::set($cache_key, $data, $ttl);
return $data;
}
echo $data
?>
이런식으로 api를 통해서 data 값을 캐시에 저장 시켰습니다.
echo $data 를 해봐도 공백이나오네요
이캐시된 데이터를 불러오는 코드는 어떻게 될까요?
캐시에 데이터를 저장 했으면 불러와야할것 같은데
제가 원리를 잘못이해하고있는것일까요?
도움 부탁드립니다.
캐시에 내가 지정한 시간까지 무조건 데이터가 저장되어있을것이다! 라는 가정은 절대 하시면 안됩니다.
캐시에 데이터가 저장되자마자 삭제되어도 본 동작에는 무리가 없게 설계하셔야 합니다.
그리고 문제에 대해 추정을 해보자면 Cache 클래스는 라이믹스의 캐시 수단을 활용하고 있습니다.
혹시 라이믹스 설정에서 라이믹스 캐시 방식을 apc 혹은 그 외의 수단으로 설정했는지 확인해보시겠어요?
캐시 사용안함으로 설정되어있으면 캐시에 데이터가 저장되지 않는게 정상입니다.
=> 저장되지 않았으니 get을 해도 아무런 값이 안나오는게 정상이죠 ㅎㅎ