У меня есть запрос, который выполняется примерно за 2 секунды. Проблема заключается в том, что когда, например, два пользователя вводят URL-адрес: http://mypage.com/getInfo одновременно, он выполняет запрос два раза, поскольку первый раз запрос MySql еще не кэшируется в Memcached.
$memcache = Memcache::init();
if(! $memcache->get("info")) {
$query = "SELECT T0.`type`, T0.notice FROM my_table WHERE...";
$statement = $db->prepare($query);
$statement->execute(array($id));
$notices = $statement->fetchAll(\PDO::FETCH_OBJ);
if(!$notices) {
return false;
}
$memcache->set("info", json_encode($notices), 0, 86400);
}
$objnotices = (object) json_decode($memcache->get("info"));
return $objnotices;
Спасибо.