Выбор ответа Middle Хранилища обновлено

Когда выбирать IndexedDB

Вопрос

Офлайн-приложению нужно хранить несколько тысяч заметок с вложениями-картинками и искать по дате. Что выбрать?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: IndexedDB: асинхронно, с индексами и поддержкой Blob. IndexedDB хранит структурированные данные и бинарники (Blob), умеет индексы для поиска по полю, работает асинхронно и имеет большую квоту. localStorage ограничен примерно 5 МБ, хранит только строки и блокирует главный поток на каждом…

Варианты ответа

  1. localStorage с JSON.stringify всего массива
  2. Cookie, чтобы данные синхронизировались с сервером
  3. sessionStorage: у него квота больше и он не блокирует поток
  4. IndexedDB: асинхронно, с индексами и поддержкой Blobправильный ответ

Разбор

IndexedDB хранит структурированные данные и бинарники (Blob), умеет индексы для поиска по полю, работает асинхронно и имеет большую квоту. localStorage ограничен примерно 5 МБ, хранит только строки и блокирует главный поток на каждом чтении и записи. Куки крошечные и уходят на сервер с каждым запросом. sessionStorage того же объёма, что localStorage, и умирает с вкладкой.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме