瀏覽器數(shù)據(jù)庫 IndexedDB是什么,能做什么?
紫竹數(shù)碼服務(wù)器,數(shù)據(jù)庫數(shù)據(jù)
瀏覽器數(shù)據(jù)庫 IndexedDB是什么,能做什么呢?由于瀏覽器的功能越來越強,越來越多的網(wǎng)站開始考慮在客戶機存儲大量數(shù)據(jù),以便減少從服務(wù)器獲取數(shù)據(jù),直接從本地獲取數(shù)據(jù)。那么瀏覽器數(shù)據(jù)庫 IndexedDB是什么,能做什么呢?今天專注于研究服務(wù)器數(shù)據(jù)庫的海外主機就帶著大家一起來看一下,希望能夠?qū)Υ蠹矣兴鶐椭?/p>
沒有一種瀏覽器數(shù)據(jù)存儲方案適合存儲大量數(shù)據(jù): Cookie大小不超過4 KB,并且每次請求都被發(fā)回給服務(wù)器; LocalStorage在2.5到10 MB之間,并且沒有提供搜索功能,也無法建立定制的索引。因此,需要一種新的解決方案,這就是 IndexedDB誕生的背景。
在 IndexedDB中,我們可以通過開發(fā)工具看到存儲數(shù)據(jù):
特性
通常來講, IndexedDB是由瀏覽器提供的本地數(shù)據(jù)庫,網(wǎng)頁腳本可以創(chuàng)建和操作。IndexedDB支持大量數(shù)據(jù)的存儲、提供查詢接口和建立索引。這是 LocalStorage沒有的東西。IndexedDB在數(shù)據(jù)庫類型上不屬于關(guān)系型數(shù)據(jù)庫,接近 NoSQL數(shù)據(jù)庫。
IndexedDB有下列特征:
鍵值對存儲。IndexedDB內(nèi)部使用了對象倉庫來存放數(shù)據(jù)??梢灾苯哟嫒胨蓄愋偷臄?shù)據(jù),包括 JavaScript對象。在對象倉庫中,數(shù)據(jù)以"鍵-值對"的形式保存,每個數(shù)據(jù)記錄有相應(yīng)的主鍵,主鍵是唯一的,不得重復(fù),否則將拋出錯誤。
異步。IndexedDB操作時并沒有鎖住瀏覽器,用戶仍然可以執(zhí)行其他操作,這與 LocalStorage的操作是同步的。異步設(shè)計就是防止讀取和寫入大量數(shù)據(jù),導(dǎo)致網(wǎng)頁性能緩慢。
支助服務(wù)。IndexedDB
IndexedDB具有同源限制,每個數(shù)據(jù)庫對應(yīng)地創(chuàng)建其域名。頁面只能在自己的域名下訪問數(shù)據(jù)庫,無法訪問跨域數(shù)據(jù)庫。
大型 IndexedDB存儲空間比 LocalStorage大得多,一般不少于250 MB,甚至沒有上限。
支持二進制存儲。IndexedDB不僅存儲字符串,而且存儲了 ArrayBuffer對象和 Blob對象。
IndexedDB數(shù)據(jù)庫的使用目前可以在 HTTP協(xié)議中直接使用,而 cacheStorage緩存必須使用 HTTPS協(xié)議。因此從應(yīng)用場景來看, IndexedDB數(shù)據(jù)庫還是相當廣泛的,考慮到IE10也支持,所以基本可以肯定,在實際項目中應(yīng)用是絕對不成問題的。
舉例來說,頁面中一些不經(jīng)常變化的結(jié)構(gòu)化數(shù)據(jù),可以使用 IndexedDB數(shù)據(jù)庫在本地存儲,從而幫助提高頁面的交互性能。
服務(wù)器數(shù)據(jù)庫
Tags:紫竹數(shù)碼服務(wù)器,數(shù)據(jù)庫數(shù)據(jù),瀏覽器數(shù)據(jù)庫 IndexedDB是什么,能做什么
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信