Я думаю, что вы задаете неправильный вопрос. Что быстрее во время активного сеанса в основном не имеет значения, потому что оба хранятся локально, а локальный поиск почти мгновенный (против удаленного поиска). (Одно предупреждение: не все браузеры полагаются на заголовки кэширования, но обычно они больше склоняются к избыточному кэшированию, чем к недостаточному кэшированию.)
Однако в вашем примере ситуация предполагает, что кеш браузера никогда не очищается. В целом, это неправильно: пользователь может не только очищать кэш всякий раз (или устанавливать для него автоматическое удаление), но и сам браузер может по своему усмотрению удалять кэшированные данные вашего сайта (обычно в зависимости от места).
Вместо этого вам следует подумать о долговечности данных и о том, как часто пользователь будет искать их снова.
Если к этой информации они могут обращаться только изредка, вам следует полагаться на встроенный механизм кэширования браузера. Это позволяет браузеру удалить его, когда он больше не нужен.
Однако, если данные загружаются регулярно или необходимы при каждом посещении сайта, вам следует использовать localStorage
. Локальное хранилище не очищается автоматически с помощью кэша и фактически очищается, только если пользователь очищает файлы cookie для этого веб-сайта. Это позволяет хранить информацию гораздо дольше, даже если веб-сайт не посещается достаточно регулярно для обновления кеша. Но теперь вы вдруг будете нести ответственность за ведение этой базы данных.
Наконец, самый важный вопрос: как разработчик, стоит ли выгодно компромисса с разработкой более сложного решения на основе localStorage
? Другими словами, увидите ли вы достаточную выгоду для кэширования конечного пользователя при поиске 1-2 с, или вы говорите о значительном объеме информации, когда пользователь увидит выигрыш 30 с +.
Например, для большого сложного веб-приложения, которое я разработал некоторое время назад, я использовал localStorage
для хранения большого количества библиотек JS. При повторном посещении сайта они просто анализировались из локальной копии (после проверки хеша). Это решение позволило широкому кругу браузеров значительно сократить время запуска, даже если кэш был очищен. (Я не говорю, что это хорошее применение, но в то время оно работало.)