注冊

微信小程序API數(shù)據(jù)緩存,微信小程序做數(shù)據(jù)緩存

2017-12-22
導讀:每個微信小程序都可以有自己的本地緩存,可以通過wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以對本地緩存進行設置、獲取和清理。同...

每個微信小程序都可以有自己的本地緩存,可以通過wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以對本地緩存進行設置、獲取和清理。同一個微信用戶,同一個小程序 storage 上限為 10MB。localStorage 以用戶維度隔離,同一臺設備上,A 用戶無法讀取到 B 用戶的數(shù)據(jù)。

注意: localStorage是永久存儲的,但是我們不建議將關鍵信息全部存在localStorage,以防用戶換設備的情況。

wx.setStorage(OBJECT)


將數(shù)據(jù)存儲在本地緩存中指定的key中,會覆蓋掉原來該key對應的內(nèi)容,這是一個異步接口。

OBJECT參數(shù)說明:

 

參數(shù) 類型 必填 說明
key String 本地緩存中的指定的 key
data Object/String 需要存儲的內(nèi)容
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

 

示例代碼

wx.setStorage({
  key:"key"
  data:"value"
})

wx.setStorageSync(KEY,DATA)


?將data存儲在本地緩存中指定的key中,會覆蓋掉原來該key對應的內(nèi)容,這是一個同步接口。

參數(shù)說明:

參數(shù) 類型 必填 說明
key String 本地緩存中的指定的key
data Object/String 需要存儲的內(nèi)容

示例代碼

try {
   wx.setStorageSync("key","value")
} catch (e) {
}

wx.getStorage(OBJECT)


從本地緩存中異步獲取指定key對應的內(nèi)容。

OBJECT參數(shù)說明:

 

 

參數(shù) 類型 必填 說明
key String 本地緩存中的指定的 key
success Function 接口調(diào)用的回調(diào)函數(shù),res = {data: key對應的內(nèi)容}
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

 

success返回參數(shù)說明:

參數(shù) 類型 說明
data String key對應的內(nèi)容

示例代碼:

wx.getStorage({
  key:'key',
  success: function(res){
      console.log(res.data)
  } 
})

wx.getStorageSync(KEY)


?從本地緩存中同步獲取指定key對應的內(nèi)容。

參數(shù)說明:

 

參數(shù) 類型 必填 說明
key String 本地緩存中的指定的key

 

示例代碼:

try {
  var value = wx.getStorageSync('key')
  if (value) {
      // Do something with return value
  }
} catch (e) {
  // Do something when catch error
}

wx.getStorageInfo(OBJECT)


異步獲取當前storage的相關信息

OBJECT參數(shù)說明:

參數(shù) 類型 必填 說明
success Function 接口調(diào)用的回調(diào)函數(shù),詳見返回參數(shù)說明
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

success返回參數(shù)說明:

參數(shù) 類型 說明
keys String Array 當前storage中所有的key
currentSize Number 當前占用的空間大小, 單位kb
limitSize Number 限制的空間大小,單位kb

示例代碼:

wx.getStorageInfo({
  success: function(res) {
    console.log(res.keys)
    console.log(res.currentSize)
    console.log(res.limitSize)
  }
})

wx.getStorageInfoSync


同步獲取當前storage的相關信息

示例代碼:

try {
  var res = wx.getStorageInfoSync()
  console.log(res.keys)
  console.log(res.currentSize)
  console.log(res.limitSize)
} catch (e) {
  // Do something when catch error
}

wx.removeStorage(OBJECT)


從本地緩存中異步移除指定 key 。

OBJECT參數(shù)說明:

參數(shù) 類型 必填 說明
key String 本地緩存中的指定的 key
success Function 接口調(diào)用的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

示例代碼:

wx.removeStorage({
  key: 'key',
  success: function(res) {
    console.log(res.data)
  } 
})

wx.removeStorageSync(KEY)


從本地緩存中同步移除指定 key 。

參數(shù)說明:

參數(shù) 類型 必填 說明
key String 本地緩存中的指定的 key

示例代碼:

try {
  wx.removeStorageSync('key')
} catch (e) {
  // Do something when catch error
}

wx.clearStorage()


?清理本地數(shù)據(jù)緩存。

示例代碼:

wx.clearStorage()

wx.clearStorageSync()


 

同步清理本地數(shù)據(jù)緩存

示例代碼:

try {
    wx.clearStorageSync()
} catch(e) {
  // Do something when catch error
}

Bug & Tip

  1. tip: 本地數(shù)據(jù)存儲的大小限制為 10MB

更多微信小程序開發(fā)教程,可以關注hi小程序。
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)