Простой подход:
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, redis и т. Д.