MUI - 封裝localStorage與plus.storage

MUI - 封裝localStorage與plus.storage 2.0版本

在使用plus.storage頻繁地存取數據時,能夠感受到明顯的卡頓,並且很耗內存,
在切換到localstorage時雖然效率很高,頁面渲染速度明顯變快了,且手機發熱不明顯,不過又遇到了存儲瓶頸(通常<=5M),
所以折中採起了plus.storage與localStorage混合的方案:
	當localStorage達到存儲瓶頸時切換到plus.storage

封裝的方法基本上和plus.storage沒區別。關於plus.storage參考http://www.html5plus.org/doc/zh_cn/storage.htmlhtml

接口

  1. getItem
    經過鍵key檢索獲取應用存儲的值html5

    var item=myStorage.getItem(key);
    • 參數key: DOMString必選
      存儲的鍵值
    • 返回值DOMString : 鍵key對應應用存儲的值,若是沒有則返回null
    • 說明:方法內部默認先從localStorage取值,沒有再從plus.Storage取值
  2. setItem
    修改或添加鍵值(key-value)對數據到應用數據存儲中git

    void myStorage.setItem(key, value);
    • 說明:方法默認將數據存儲在localStorage中,超出localStorage容量限制則存到plus.storage
  3. getLength
    獲取localStorage中保存的鍵值對的個數github

    var len=myStorage.getLength();
  4. getLengthPlus
    獲取plus.storage中保存的鍵值對的個數緩存

  5. removeItem
    經過key值刪除鍵值對存儲的數據函數

    void myStorage.removeItem();
  6. clear
    清除應用全部的鍵值對存儲數據測試

    void myStorage.clear();
  7. key
    獲取localStorage鍵值對中指定索引值的key值ui

    var foo = myStorage.key(index);
  8. keyPlus
    獲取plus.storage鍵值對中指定索引值的key值localstorage

    var foo = myStorage.keyPlus(index);
  9. getItemByIndex
    經過鍵key檢索獲取應用存儲localStorage的值code

    var item=myStorage.getItemByIndex(index);
    • 參數index: Number必選 存儲鍵值的索引
    • 返回值DOMString : 鍵key對應應用存儲的值,若是沒有則返回null
  10. getItemByIndexPlus
    經過鍵key檢索獲取應用存儲的值

    var item=myStorage.getItemByIndexPlus(index);
    • 參數index: Number必選 存儲鍵值的索引
    • 返回值DOMString : 鍵key對應應用存儲的值,若是沒有則返回null
  11. getItems
    經過鍵key檢索獲取應用存儲的值

    var items=myStorage.getItems(key)
    • 參數 key: Number可選 存儲鍵值的索引
    • 返回值Array:不傳key參則返回全部對象,不然返回含有該key的對象
  12. removeItemByKeys
    清除指定前綴的存儲對象

    void myStorage.removeItemBykeys(keys,cb)
    • 參數keysDOMStringArray, 必選 keysString,方法內部自動轉換爲Array
    • 參數cbFunction 可選 回調函數

說明

以上方法常常用到的仍是getItem setItem
getItems在測試或控制檯查看時卻是偶爾用獲得
removeItemBykeys是結合本地文件common.cache.clear緩存清除時一齊使用的


代碼已分享到github
地址在https://github.com/phillyx/MUIDemos/tree/master/js/myStorage.js
也可直接使用壓縮後的代碼https://github.com/phillyx/MUIDemos/tree/master/dist/common.js

相關文章
相關標籤/搜索