Тоже тестил движок, на 1000 одновременных запросов (с помощью ab) и c кэшем начались твориться чудеса, пришлось выкручиваться.
Кусочек кода из метода записи данных в кеш:
$cache_size_file = fopen(CACHE.'/size', 'c+b');
$time = microtime(true);
while (!flock($cache_size_file, LOCK_EX)) {
if ($time < microtime() - .5) {
fclose($cache_size_file);
return false;
}
time_nanosleep(0, 1000000);
}
unset($time);
/**
Some work here
*/
flock($cache_size_file, LOCK_UN);
fclose($cache_size_file);
return false потому, как кеш — необязательный, и чтобы долго не ждать — можно и пропустить запись.
Работает стабильно, с помощью штатных функций, не нужно дополнительных классов.
Кусочек кода из метода записи данных в кеш:
return false потому, как кеш — необязательный, и чтобы долго не ждать — можно и пропустить запись.
Работает стабильно, с помощью штатных функций, не нужно дополнительных классов.
И как минимум остальные окошки должны пропадать если я кликаю редактировать другую строчку.
vitaly.harisov.name/article/independent-blocks.html