Предпочитаю использовать
IndexedDB.
Только для работы с ней использую
специальную библиотеку, которая упрощает ввод и вывод:
<script src="https://cdnjs.cloudflare.com/ajax/libs/localforage/1.9.0/localforage.js"></script>
Далее, чтобы сохранить какие-то данные достаточно выполнить в консоли браузера:
result = await localforage.setItem('key', save_data);
console.log('Данные успешно сохранены:');
console.dir(result);
Где в
save_data лежат сохраняемые данные, а
key это ключ по которому можно было бы получить к ним доступ.
Из особенностей, в
save_data мы можем положить любой тип данных - хоть строку, хоть массив, хоть объект. Да даже файл при желании можно сохранить! При этом нет ограничений по объему хранимых данных, можете хоть сто мегабайт положить, хоть триста запихнуть.
Чтобы потом извлечь сохраненные данные выполняем:
result = await localforage.getItem('key');
console.log('Данные успешно извлечены:');
console.dir(result);
Срок хранения данных - неограниченно. Или пока пользователь вручную не обнулит кеш браузера.