2013-07-01 101 views
0

我在考慮構建一個LOB appjs應用程序,我希望使用IndexedDB進行存儲。我有一些關於appjs中的IndexedDB的問題。鉻中的Indexeddb最大大小限制

  1. 什麼是最大存儲限制,有沒有什麼辦法來配置 appjs' Chromium瀏覽器增加了限制?

  2. 如果IndexedDB中的數據超過用戶的RAM,我會遇到問題嗎?由於它只是存儲對象圖的關鍵值存儲庫,所以我想知道它是否會將整個數據加載到RAM中。

謝謝。

回答

0

如果您在AppJS中構建應用程序,那麼您可以跳過indexedDB並使用nodejs庫來訪問完整的數據庫。因此,例如https://npmjs.org/package/node-sqlite-purejshttps://npmjs.org/package/sqlite3將給你一個完整的關係數據庫與交易等

如果你想走nosql路線,那麼有大量的nosql數據庫可用於nodejs。要在app.js代碼中將數據庫連接到應用程序,您可以在窗口中添加一個函數,該函數可以是數據庫api,例如它可以接受查詢名稱以運行,甚至可以接受sql,然後傳入回調函數一旦數據已經運行就會調用。 app.js添加到窗口對象的函數可以查詢數據庫並獲取記錄,然後使用結果調用回調函數。

+0

我試過sqlite3,但我不能讓它與appjs一起工作,它退出並出現這個錯誤'data \ node_modules \ sqlite3 \ lib \ node_sqlite3.node不是函數。我得到了node-sqlite-purejs庫的工作,但沒有ORM支持它,我想要一個更高層次的接口。 – raphonic

0

關於存儲限制,我不能說,但理論上indexeddb的大小限制在您的硬盤大小。但是在大多數情況下,設置了限制;)。

就我所知,只有您將要處理的數據將被加載到內存中。 JS有它自己的垃圾收集器,所以應該照顧RAM的使用。