Pull to refresh

Comments 12

Что за сайт? Дайте ссыль в комментах.
Ссылка на сайт в профиле автора.
В качестве задания на будущее — сделать чтение из кэша без php, nginx'ом :)
Если я вас верно понимаю, то это возможно только при сохранении в кэш полной страницы. Страниц, которые оставались бы неизменными какое-то значительное время, на сайте очень и очень мало. Менее чем на 1000 просмотров в сутки, причем 800 просмотров будет совершено авторизованными пользователями, которым надо показать их личное меню со счетчиками и уведомлениями.
Спасибо за ссылку. Прочитал и сохранил в избранное. Когда принцип «не трож пока работает» в очередной раз попросит что-то оптимизировать, я обращусь и к этому способу :)
У Вас, если произошло непопадание в кэш при обработке популярного запроса, сразу много одинаковых потоков ломанутся в базу, чтобы заполнить кэш. Самое простое — устанавливать и проверять какой-то глобальный флаг в том же мемкеше, сигнализирующий, что обновлением кэша уже занимается другой поток.
Хорошее дополнение, хотя оно более актуально для кэширования по времени. Когда в момент популярности запроса может закончится время жизни кэша и произойдет описанная вами ситуация. Для моего кэша это не столь актуально, так как кэш обнуляется только по действиям пользователя. А описанные в статье страницы обычно обновляются тогда, когда интерес к ним минимален и после обновления количество запросов нарастает постепенно.
Пока печатал комментарий понял, что есть еще как минимум два случая, когда флаги и ожидания нужны и на моем сайте:
1. Перезагрузка сервера. И так будет куча запросов в базу, если еще и по несколько потоков на каждый запрос, то вообще беда.
2. Автор опубликовал главу, прибежали читатели, «запрос стал популярным» и автор исправил в тексте какую-нибудь ошибку (случай не редкий).
3. Ну или просто память закончилась в мемкэше и добавление новых ключей вызывает удаление старых.
Sign up to leave a comment.

Articles