2011-06-27 50 views
2

我想知道是否可以開發一個純粹的node.js web應用程序,這意味着非常簡單的部署。根據我的理解,因爲node.js擅長I/O,所以node.js中的數據庫應該也很好。有一個存在嗎?特別是一個生活在RAM中,偶爾會堅持到磁盤的人。在沒有依賴關係的情況下推薦純node.js中的數據庫?

+1

聽起來像一個壞主意。太多重新發明輪子。使用現有的數據庫。如果你想要簡單的存儲,那麼只需將對象作爲JSON寫入文件即可。 – Raynos

回答

9

我在安裝redis或mongodb時看不到問題。它可以毫不費力地完成。

即說,有許多這樣的數據庫,如:

  • ministore:保存在指定的時間間隔。
  • alfred:讀取速度很快,因爲指向文件的索引保存在內存中。
  • nStore此外,所有文檔的索引及其在磁盤上的確切位置都存儲在內存中,用於快速讀取任何文檔。
  • jsonds:Jsonds是一個'數據存儲',它只是一個JSON對象,它以設定的頻率寫入磁盤。
  • supermarket
  • chaos
  • node-dirty
  • node-tiny
  • nedb:嵌入式純JS數據庫MongoDB的兼容的API。

此外,大多數這些產品都非常年輕,應該不會用於生產。


你也代碼自己的東西我想用node-sqlite3來存儲數據備份到光盤上。

2

如果你想要一個只存在於ram中的Node中的數據庫,你可以簡單地使用JavaScript對象和數組來包含你的數據。如果你需要更強大的查詢來恢復SQL,那麼可能純JavaScript對象不是最好的主意。另外,有了這個想法,你可以通過使用JSON.stringify以設定的時間間隔將數據刷新到磁盤來使其持久。

+0

我怎樣才能從這個客戶端服務器數據庫? – TiansHUo

+1

我以爲web應用程序會在裏面有數據。如果您打算構建一個使用另一個節點服務器作爲數據庫的Node Web應用程序,則該應用程序變得非常複雜,並且基本上重新定位了方向盤。我會建議處理Web應用程序內的數據,而不是有不同的服務器。如果你需要一個獨立的數據庫服務器(例如用於負載均衡),那麼使用一個真正的數據庫將是理想的(可能類似Redis)。最終,這意味着更少的開發時間,更安全和更容易擴展。 – StevenGilligan

相關問題