<?php
function getMyDataFromAPI()
{
$cache_key = 'aaaaaaaa';
$data = Rhymix\Framework\Cache::get($cache_key);
if ($data)
{
return $data;
}
echo date('Y-m-d H:i:s');
$data = date('Y-m-d H:i:s');
$ttl = 3600;
Rhymix\Framework\Cache::set($cache_key, $data, $ttl);
return $data;
}
$data = getMyDataFromAPI();
echo '<pre>';
print_r($data);
echo '</pre>';
?>
반복된 질문 죄송합니다. ㅠㅠ
위 코드가 있습니다.
print_r($data); 데이터는 잘뜨는데(두줄짜리 시계)
새로고침 할때마다 초데이터가 갱신이 됩니다.(캐시가 제대로 된거라면 과거의 초에 멈춰있어야함)
이건 계속 getMyDataFromAPI() 함수를 다시 정의하고 다시 캐시값에 저장 시켜서 그런 걸까요?
그렇다면 다른 페이지에서 아래 데이터를 불러오는 방법은 무엇일까요?
$data = getMyDataFromAPI();
echo '<pre>';
print_r($data);
echo '</pre>';
지금 저페이지에선 캐시를 생성해주고 3600초간 유지
저 페이지를 제가 또 열면 또 새로운 캐시를 생성 해주고 3600초간 유지
되는것으로 보이고
실질적으로 캐시데이터는 다른 페이지에서 불러와야지 정상적인 사용이 가능할 것으로 생각됩니다.
제가 잘 이해 한게 맞을까요?
datag로 이름을 바꿔버리니 시계 출력이 1개로 줄어듭니다.
<?php
function bbbbbb()
{
$cache_key = 'aaaaaaaa';
$datag = Rhymix\Framework\Cache::get($cache_key);
if ($datag)
{
return $datag;
}
echo date('Y-m-d H:i:s');
$datag = date('Y-m-d H:i:s');
$ttl = 3600;
Rhymix\Framework\Cache::set($cache_key, $datag, $ttl);
return $datag;
}
$data = bbbbbb();
echo '<pre>';
print_r($datag);
echo '</pre>';
?>