HTML5存儲學習筆記(二)

Web SQL和IndexedDBhtml

1. 綜述html5

因爲網絡數據庫能夠容許你能夠在用戶的瀏覽器上存儲數據和附件並提供豐富的查詢能力,網絡數據庫讓你有能力創造一種新的web應用,它們既能夠工做在線上,也能夠工做在離線狀態,或者是不穩定的網絡鏈接狀態下。git

1.1WebSQL和IndexedDB兩種形式的區別github

類別 WebSQL IndexedDB
優勢 一個在客戶端實現的(SQLite)真實的關係型數據庫
  • 容許快速索引和查找對象,於是在網絡應用的場景下,你能夠管理你的數據並快速讀寫。
  • IndexedDB是一種非SQL的數據庫。你能夠根據你的應用的須要,使用JavaScript的對象進行索引。
  • 使用異步模式,用適中的粒度爲每次處理上鎖。這容許你能夠在JavaScript事件驅動的模式下工做。
缺點
  • 已過期的標準
  • 要求很好的掌握SQL語言,而且須要轉換JavaScript對象到關係型結構。
  • 非對象驅動
對長期使用關係型數據庫的人來講,理解IndexedDB比較困難。
存儲位置 包含行和列的數據表 包含JavaScript對象和key的對象存儲
查詢方式 SQL語句
Cursor APIsKey Range APIs
和應用程序代碼。
事務 在讀寫操做期間對行、表和數據庫上鎖 在對objectStore進行只讀和讀寫操做以及對數據庫進行版本更新操做時上鎖。
事務提交 須要明確建立transaction。若是沒有提交,默認作回滾處理。 須要明確建立transaction。默認是直接提交,除非咱們調用廢棄方法或提交時有沒法捕獲的異常。

1.2 瀏覽器支持狀況web

IndexedDB: chrome11+, opera不支持,firefox4+, IE 10+, mobile端支持略差。sql

1.3 存儲結構chrome

IndexedDB是按域名分配獨立空間,一個獨立域名下可建立多個數據庫,每一個數據庫可建立多個表,一個表能夠存儲多個對象數據。數據庫

 

參考資料:瀏覽器

https://w3c.github.io/IndexedDB/網絡

https://www.w3.org/TR/IndexedDB/

http://www.runoob.com/html/html5-web-sql.html

https://www.html5rocks.com/en/tutorials/webdatabase/websql-indexeddb/

相關文章
相關標籤/搜索