Классический пример кода, получения и записи кэша.
if ( ! $data = Cache::get('key') )
{
..................
Cache::set('key', $value, $time);
}
Как разрешить ситуацию, когда несколько процессов получают информацию, что кэш устарел или еще не создавался?
Если, например, использовать семафоры(мютексы) в условии if, то получается, что один запрос / процесс делает кэш, а остальные его ждут. Если кэш создается не слишком быстро, то это вызовет подвисание всех запросов. Или такая практика вполне корректна, когда один делает, остальные висят?