понять работает кэширование или нет. В браузере, если нажать F12 и перейти в "Хранилище кеша" пусто. Не подскажите правильно ли я делаю кеширование и где посмотреть данные кеша?
public function getWeatherByCity(string $city): array
{
$cache = new FilesystemAdapter('', 0, "cache");
return $cache->get('weather_' . $city, function (ItemInterface $item) use ($city) {
$item->expiresAfter(3600);
$apiUrl = "https://api.openweathermap.org/data/2.5/weather?q=$city,RU&appid=$this->apiKey&lang=ru&units=metric";
$client = HttpClient::create();
$response = $client->request('GET', $apiUrl);
$statusCode = $response->getStatusCode();
if ($statusCode === 200) {
$content = $response->getContent();
$data = json_decode($content, true);
return [
'temperature' => $data['main']['temp'],
'description' => $data['weather'][0]['description'],
];
}
return [];
});
}
Неправильно
Хранилище браузера никакого о ношения к серверу не имеет
HttpClient имеет свое кеширование, см. CachingHttpClient, если все же адаптер используешь - то кеш на сервере в tmp/symfony-cache если не указан namespace, ну и как уже сказали - к браузеру это не имеет никакого отношения
Обсуждают сегодня