Я был на интервью для среднего/старшего PHP-разработчика пару дней назад (я не смог). Мне задали сложный вопрос, который все еще беспокоил меня.Одновременный звонок в Memcache
Представьте, что мы используем PHP + Memcached и чрезвычайно загруженный проект (около 100 ударов в секунду и более). У нас есть огромный SQL-запрос для выполнения, поэтому мы решили кэшировать его в Memcached. Теперь кеш истек, и нам нужно выполнить этот огромный запрос еще раз, чтобы кэшировать его, но проблема в том, что все 100 пользователей получают на сайте одновременно, поэтому теоретически сервер будет делать SQL-запрос 100 раз в то же время кеш его после, так что сервер будет идти вниз, я думаю.
Как мы можем решить это? Я думаю, что запрос должен выполняться один раз, а еще 99 парней должны оставаться и ждать данных, существующих в Memcached.
Не очень сложный запрос, я думаю, что он потребляет около 10 секунд для выполнения, но в некоторых случаях это может привести к краху сервера. Во всяком случае, ваша идея хорошая, я думаю, crontab - отличное решение. Благодарю. –