Повторные запросы используют сохраненный результат только при совпадении пользователя и версии документа.
О проекте
Задача
Кэш ускоряет повтор, но может вернуть старую инструкцию или результат чужого пользователя. В последовательности есть оба изменения и два обычных повтора.
Решение
Ключ включает user, query, revision. Baseline пересчитывает каждый раз; revised читает результат по точному ключу. В журнале остаются источник ответа и число фактических вычислений.
Результат
Из пяти запросов два точных повтора получили результат из кэша, три были вычислены. Новый пользователь и редакция v2 не получили прежний ответ. Проверка v3 также вызвала новый расчет.
Что передано заказчику
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- checks.json
- style.css
- timings.json
Инструменты и подход
Навыки
Содержание 3
Готовая работа
Попадание в кэш имеет конкретный контекст
Пять обращений дают три вычисления и два повторных использования. Ключ включает пользователя и версию, поэтому похожий запрос другого пользователя или к новой редакции не засчитывается как попадание. Я считаю вычисления отдельно от времени: это объясняет причину экономии работы, а не только различие замеров.
Разбор и материалы
Вклад и команда
Я реализовал локальный кэш по пользователю и версии и измерил пять последовательных обращений.
Ссылки и материалы
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- verify.cjs
- checks.json
- style.css
- benchmark.cjs
- timings.json
- Локальный кэш поиска: повтор, другой пользователь и новая редакция — исходная таблица.csv
5 ситуаций для сравнения.
- Локальный кэш поиска: повтор, другой пользователь и новая редакция — проверка.txt
Критерии проверки этого решения.
- Локальный кэш поиска: повтор, другой пользователь и новая редакция — паспорт.json
Контекст, ограничения, решение и данные.
- Локальный кэш поиска: повтор, другой пользователь и новая редакция — инструкция.html
Как открыть и проверить рабочий разбор.
Загружаем комментарии…