Максимальный размер индекса Indexeddb в хроме

Я рассматриваю возможность создания приложения LOB appjs, для которого я хочу использовать IndexedDB для хранения. У меня есть несколько вопросов относительно IndexedDB в appjs.

  1. Каков максимальный лимит памяти, и есть ли способ настроить Chromium браузер appjs для увеличения лимита?

  2. Будут ли у меня проблемы, если данные в IndexedDB превышают оперативную память пользователя? Поскольку это просто хранилище значений ключей, в котором хранятся графы объектов, мне было интересно, загрузит ли он все данные в ОЗУ.

Благодарю.

2 ответа

Об ограничении памяти я не могу сказать, но теоретически размер indexeddb ограничен размером вашего жесткого диска. Но в большинстве случаев лимит установлен;).

Насколько я знаю, только данные, с которыми вы будете работать, будут загружены в память. У JS есть свой собственный сборщик мусора, поэтому он должен позаботиться об использовании оперативной памяти.

Если вы создаете приложение в AppJS, вы можете пропустить indexedDB и использовать библиотеку nodejs для доступа к полной базе данных. Так, например, https://npmjs.org/package/node-sqlite-purejs или https://npmjs.org/package/sqlite3 предоставит вам полную реляционную базу данных с транзакциями и т. Д.

Если вы хотите пойти по пути nosql, то для nodejs доступно множество баз данных nosql. Чтобы подключить базу данных к вашему приложению в коде app.js, вы должны добавить в окно функцию, которая может быть API вашей базы данных, например, она может принять имя запроса для запуска или даже sql, а затем передать функцию обратного вызова. позвонить, как только данные были запущены. Функция, добавленная app.js к объекту окна, может затем запросить базу данных и получить записи обратно, а затем вызвать функцию обратного вызова с результатом.

Другие вопросы по тегам