javascript - 如何將數(shù)據(jù)保存在本地
問題描述
最近用electron寫一個(gè)桌面軟件遇到一個(gè)需求:要將用戶每次填寫的數(shù)據(jù)保存在本地,我的用法是將數(shù)據(jù)以文件的形式保存在本地,但是遇到一個(gè)問題是隨著數(shù)據(jù)保存越來越多,文件也就會(huì)越來越大,這樣子。讀取文件的速度也就會(huì)越來越慢,況且每次用都要重新讀取文件,實(shí)在是慢。。。所以想問下各位開發(fā)者,如何做到一個(gè)桌面軟件在本地保存數(shù)據(jù)?有沒有那種數(shù)據(jù)庫可以集成在軟件當(dāng)中,然后軟件可以進(jìn)行使用?
問題解答
回答1:indexeddb
回答2:sqlite強(qiáng)烈推薦
回答3:對于這個(gè)問題,得看你的數(shù)據(jù)量,對于不是特別大的數(shù)據(jù)量,可以使用sqlite或者將數(shù)據(jù)文件分成多個(gè)文件存儲(chǔ),為每個(gè)文件建立索引,這里可以參考倒排索引,然后取數(shù)據(jù)時(shí),使用相關(guān)的算法,定位到對應(yīng)的文件,取出數(shù)據(jù)。,,,,,,,,對于大量數(shù)據(jù),則需要改變設(shè)計(jì)方案,利用利用nosql類型的數(shù)據(jù)庫優(yōu)勢,比如redis和hbase等。
相關(guān)文章:
1. nignx - docker內(nèi)nginx 80端口被占用2. docker容器呢SSH為什么連不通呢?3. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件4. docker - 各位電腦上有多少個(gè)容器???容器一多,自己都搞混了,咋辦呢?5. 關(guān)于docker下的nginx壓力測試6. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””7. mac里的docker如何命令行開啟呢?8. docker gitlab 如何git clone?9. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問題 麻煩幫我看一下10. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。

網(wǎng)公網(wǎng)安備