Подтвердить что ты не робот

Как переполнение стека реализовало кэширование?

Не уверен, что Qaru использует кеширование для повышения скорости загрузки своих страниц, но если это так, то он проделал отличную работу. Есть много компонентов для обновления. На этой фотографии, которую вы видите каждую секунду, есть много компонентов, которые нужно обновить. Как переполнение стека делает это так идеально? введите описание изображения здесь

4b9b3361

Ответ 1

В ответе на этот вопрос ответят гораздо более подробно на Meta.SE. Однако основные моменты:

  • В основном все кэшируется, особенно для анонимных пользователей.
  • Они используют серверы Redis с 96 ГБ RAM. Этот сервер хранит "L1 Cache" из недавно установленных и прочитанных значений. Эти значения сжимаются перед отправкой их в Redis. Они также используют IIS Выходное кэширование
  • Каждый сайт имеет 3 типа кешей:
    • "Локальный" (сеансы пользователя, количество просмотров и т.д.).
    • "Сайт" (горячие вопросы, ставки для пользователей)
    • "Глобальный" (пользовательские входящие, квоты API)

Есть еще более подробная информация о High Scalability, хотя на данный момент это почти 5 лет. Существует более новая статья (с 2014 года), в которой упоминается также два дополнительных уровня кэширования:

  • SQL Server (вся база данных находится в памяти). С 2013 года серверы баз данных имели 384 ГБ памяти
  • SSD (ударяется только тогда, когда кеш SQL-сервера прогревается... как не то, что я считаю "кешем", но он упоминается в статье).