摘要:允許您存儲(chǔ)和檢索用鍵索引的對(duì)象可以存儲(chǔ)支持的任何對(duì)象。是非關(guān)系型數(shù)據(jù)庫(kù)和的差別是關(guān)系型數(shù)據(jù)庫(kù),前端需要寫,目前已經(jīng)瀏覽器基本已經(jīng)放棄基本使用打開數(shù)據(jù)庫(kù)并且開始一個(gè)事務(wù)。通過(guò)監(jiān)聽正確類型的事件以等待操作完成。
IndexDB的出現(xiàn) 是為了存儲(chǔ)更大量的結(jié)構(gòu)化數(shù)據(jù)
demo地址
IndexedDB是一個(gè)事務(wù)型數(shù)據(jù)庫(kù)系統(tǒng),類似于基于SQL的RDBMS。 然而不同的是它使用固定列表(只有 key,value),IndexedDB是一個(gè)基于JavaScript的面向?qū)ο蟮臄?shù)據(jù)庫(kù)。
IndexedDB允許您存儲(chǔ)和檢索用鍵索引的對(duì)象; 可以存儲(chǔ)structured clone algorithm支持的任何對(duì)象。
您只需要指定數(shù)據(jù)庫(kù)模式,打開與數(shù)據(jù)庫(kù)的連接,然后檢索和更新一系列事務(wù)中的數(shù)據(jù)。
IndexedDB 是非關(guān)系型數(shù)據(jù)庫(kù)
IndexDB 和 WebSql的差別WebSql 是關(guān)系型數(shù)據(jù)庫(kù), 前端需要寫sql ,目前 WebSql已經(jīng)瀏覽器基本已經(jīng)放棄
基本使用1.打開數(shù)據(jù)庫(kù)并且開始一個(gè)事務(wù)。
2.創(chuàng)建一個(gè) object store。
3.構(gòu)建一個(gè)請(qǐng)求來(lái)執(zhí)行一些數(shù)據(jù)庫(kù)操作,像增加或提取數(shù)據(jù)等。
4.通過(guò)監(jiān)聽正確類型的 DOM 事件以等待操作完成。
5.在操作結(jié)果上進(jìn)行一些操作(可以在 request 對(duì)象中找到)
var dbName = "the_name"; var db ; // 連接數(shù)據(jù)庫(kù),沒(méi)有就創(chuàng)建數(shù)據(jù)庫(kù) var request = indexedDB.open(dbName, 2); request.onsuccess = function(event){ db = request.result; } // 錯(cuò)誤處理程序在這里。 request.onerror = function(event) { console.log(event); }; request.onupgradeneeded = function(event) { db = event.target.result; // 創(chuàng)建一個(gè)對(duì)象存儲(chǔ)空間來(lái), 自增主鍵 var objectStore = db.createObjectStore("customers"); }; // 添加數(shù)據(jù) var customerData = [ { id:"1", name: "Bill", age: 35, email: "bill@company.com" }, { id:"2", name: "Donna", age: 32, email: "donna@home.org" } ]; var transaction = db.transaction(dbName, "readwrite"); // 打開存儲(chǔ)對(duì)象 var objectStore = transaction.objectStore("customers"); // 添加到數(shù)據(jù)對(duì)象中 customerData.forEach(function(item){ objectStore.put(item,item.id); }); // 查詢 db.transaction("customers").objectStore("customers").get("1").onsuccess = function(event) { console.log(event.target.result.name); };存儲(chǔ)大小 50MB 左右 應(yīng)用場(chǎng)景
跨 Tab 通信
存儲(chǔ)二進(jìn)制 文件
文章來(lái)自胡城的個(gè)人網(wǎng)站文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96157.html
摘要:設(shè)置為參數(shù)設(shè)置指定索引,并確保唯一性上面主要做了件事打開數(shù)據(jù)庫(kù)表新建,并設(shè)置設(shè)置打開數(shù)據(jù)庫(kù)表主要就是版本號(hào)和名字,沒(méi)有太多講的,我們直接從創(chuàng)建開始吧。打開注意事項(xiàng)檢查是否支持版本更新在生成一個(gè)實(shí)例時(shí),需要手動(dòng)指定一個(gè)版本號(hào)。 在知乎和我在平常工作中,常常會(huì)看到一個(gè)問(wèn)題: 前端現(xiàn)在還火嗎? 這個(gè)我只想說(shuō): 隔岸觀火的人永遠(yuǎn)無(wú)法明白起火的原因,只有置身風(fēng)暴,才能找到風(fēng)眼之所在 ——『秦時(shí)明...
摘要:私有緩存就是用戶專享的,各級(jí)代理不能緩存的緩存。代表使用內(nèi)存中的緩存,則代表使用的是硬盤中的緩存,瀏覽器讀取緩存的順序?yàn)椤? 作為一名前端工作人員,前端的緩存知識(shí)是必須掌握的,因?yàn)橐粋€(gè)網(wǎng)站打開網(wǎng)頁(yè)的速度直接關(guān)系到用戶體驗(yàn),用戶粘度,而提高網(wǎng)頁(yè)的打開速度有很多方面需要優(yōu)化,其中比較重要的一點(diǎn)就是利用好緩存,緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。 1 緩存 緩存從宏觀上分為私有...
摘要:私有緩存就是用戶專享的,各級(jí)代理不能緩存的緩存。代表使用內(nèi)存中的緩存,則代表使用的是硬盤中的緩存,瀏覽器讀取緩存的順序?yàn)椤? 作為一名前端工作人員,前端的緩存知識(shí)是必須掌握的,因?yàn)橐粋€(gè)網(wǎng)站打開網(wǎng)頁(yè)的速度直接關(guān)系到用戶體驗(yàn),用戶粘度,而提高網(wǎng)頁(yè)的打開速度有很多方面需要優(yōu)化,其中比較重要的一點(diǎn)就是利用好緩存,緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。 1 緩存 緩存從宏觀上分為私有...
摘要:私有緩存就是用戶專享的,各級(jí)代理不能緩存的緩存。代表使用內(nèi)存中的緩存,則代表使用的是硬盤中的緩存,瀏覽器讀取緩存的順序?yàn)椤? 作為一名前端工作人員,前端的緩存知識(shí)是必須掌握的,因?yàn)橐粋€(gè)網(wǎng)站打開網(wǎng)頁(yè)的速度直接關(guān)系到用戶體驗(yàn),用戶粘度,而提高網(wǎng)頁(yè)的打開速度有很多方面需要優(yōu)化,其中比較重要的一點(diǎn)就是利用好緩存,緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。 1 緩存 緩存從宏觀上分為私有...
閱讀 4009·2023-04-26 02:13
閱讀 2252·2021-11-08 13:13
閱讀 2740·2021-10-11 10:59
閱讀 1740·2021-09-03 00:23
閱讀 1311·2019-08-30 15:53
閱讀 2288·2019-08-28 18:22
閱讀 3059·2019-08-26 10:45
閱讀 738·2019-08-23 17:58