Исправлено в новой версии ( 1.1.0-alpha04 ) Appcompat.
implementation "androidx.appcompat:appcompat:1.1.0-alpha04"
Я понятия не имею, как они сделали это - я не записал ТАК.
Для чего-то вроде этого я использовал бы своего рода механизм кэширования для всего класса Вопроса со всеми его Ответами. Кэш был бы недолгим, но так как новые/горячие вопросы просматриваются очень часто, они остались бы в живых. Более старые вопросы нужно было бы требовать от DB. Это также предотвратило бы проблему многопоточности, когда один человек отвечает на вопрос и в то время как другой поток просматривает вопрос.
Другая вещь, которую можно заметить здесь, они делают интенсивное использование Ajax. Но так как AJAX.Net чрезвычайно расточителен пропускной способностью, они реализовали вызовы Ajax, таким образом, они возвратят простые объекты JSON, например, когда upvoting только объект успеха с новым количеством голосов или сообщения об ошибке будет возвратом, например: (это - искусственный пример и не является представительным для того, что происходит, потому что я не могу быть побеспокоен для проверки прямо сейчас),
{"status": "ok", "votes": 3}
AJAX.Net возвратил бы все UpdatePanel
содержание, безотносительно его размера, который, неважно, как маленький, все еще было бы довольно большим.
ТАК использует MVC и LINQ2SQL. Я слушал бы некоторые подкасты для получения большего количества идеи специфических особенностей. Я действительно знаю, что они используют большое кэширование, но не уверенные, если это включает список вопроса в домашнюю страницу.
Здесь, в Stack Overflow, мы пытаемся использовать агрессивное кеширование на многих уровнях:
HttpRuntime.Cache
используется для этого Домашняя страница состоит из трех кешированных частей HTML - недавних вопросов, недавних тегов, недавних значков - каждый с разной продолжительностью.
На странице списка вопросов кэшируются идентификаторы ( Int32 []
) всех вопросов для определенного фильтра сортировки / тегов, что делает разбиение на страницы тривиальным. Также выполняется дополнительное кэширование статистики (например, количества вопросов, количества связанных тегов).
страница с подробным описанием вопроса будет полностью кэшироваться для анонимных пользователей, в то время как зарегистрированные пользователи видят последние товары. Кроме того, связанные вопросы сбоку кэшируются на диск на более длительный срок.
Хотя мы стараемся кэшировать целые страницы, где это возможно, мы показываем информацию о пользователе вверху страницы - некоторые части просто невозможно кэшировать.
Так что смотрите на кеширование как на головоломку - какие части можно безопасно разделить между всеми моими запросами? Какие части ДОЛЖНЫ использоваться во всех моих запросах с учетом расходов?
Так что смотрите на кеширование как на головоломку - какие части можно безопасно разделить между всеми моими запросами? Какие части ДОЛЖНЫ использоваться во всех моих запросах с учетом расходов?
Так что смотрите на кеширование как на головоломку - какие части можно безопасно разделить между всеми моими запросами? Какие части ДОЛЖНЫ использоваться во всех моих запросах с учетом расходов?
Вы также можете взглянуть на этот Stack Overflow Inspired Knowledge Exchange .
Это группа статей, пытающихся имитировать Stack Overflow. Вы сможете найти кодовую базу здесь на CodePlex.