Максимальный размер индекса Indexeddb в хроме
Я рассматриваю возможность создания приложения LOB appjs, для которого я хочу использовать IndexedDB для хранения. У меня есть несколько вопросов относительно IndexedDB в appjs.
Каков максимальный лимит памяти, и есть ли способ настроить Chromium браузер appjs для увеличения лимита?
Будут ли у меня проблемы, если данные в 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 к объекту окна, может затем запросить базу данных и получить записи обратно, а затем вызвать функцию обратного вызова с результатом.