localStorage, localforage, web sql三者的比較

     最近的項目中用到了前端存儲,最初選用的是localStorage,這個是html5裏面新增的API,用法很簡單。setItem getItem clear。 值得注意的是,localStorage中存進去的數據,都是以字符串的形式存儲的,取出來的時候也是以字符串的形式拿到的。因爲項目中通常數據都是以json或者array的方式存入的。所以須要在存取前進行JSON.parse和JSON.Stringify。html

    localStroage中另外一個不便之處是,它僅僅是一個單純的數據存儲,沒有自增的id。這且不說,在取數據的時候,只能遍歷查找,好比你要找某一個時間段的數據,這裏也只能是遍歷查詢。數據量少還沒什麼,數據量大的時候確實比較麻煩,畢竟動不動就遍歷,誰受得了。前端

 

  web sql和經常使用的mysql有相似之處。操做的語言也是sql語句。支持一些sql常見的查找啊,增長啊 更新什麼的。我以爲還比較好用,移動端應該沒什麼問題。可是貌似在PC上的瀏覽器兼容性方面會有一些問題。由於咱們的項目很快找到了替代的localforage 所以web sql還沒怎麼過深刻的研究。html5

  localforage是mozilla開發的,優勢:1. 和localStorage同樣但存取數據的時候,但能夠將數組啊 json啊 等格式的數據存入,不須要再額外的改變數據格式了。另外,localStroage存取數據是同步的,而localforage則是異步的,而且支持promise模式。這一點倒不能說孰優孰劣,同步亦有同步的好處。mysql

  localforage也是不支持sql查詢的,同localStorage同樣,只能作簡單的數據存取,這樣來看,大一些的前端數據存儲,仍是web sql會比較好用一些。寫到這有一點疑惑,localforage是基於localStroage web sql的 怎麼就不支持sql查詢呢web

相關文章
相關標籤/搜索