Skip to content

數據緩存

setStorage

TIP

該API使用方法為: wx.setStorage(Object object)

  • 功能說明: 將資料存儲在本地緩存中指定的key中。 會覆蓋掉原來該key對應的內容。 除非用戶主動删除或因存儲空間原因被系統清理,否則數據都一直可用。 單個key允許存儲的最大數據長度為1MB,所有資料存儲上限為10MB。

  • 參數及說明: Object object。

    内容類型預設值必填說明
    keystring-本地緩存中指定的key
    dataany-需要存儲的內容,只支持原生類型、 Date、 及能够通過JSON.stringify序列化的對象
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.setStorage({
  key:"key",
  data:"value"
})
js
wx.setStorage({
  key: 'key',
  success (res) {
    console.log(res.data)
  }
})

setStorageSync

TIP

該API使用方法為: wx.setStorageSync(string key,any data)

說明

storage應只用來進行數據的持久化存儲,不應用於運行時的數據傳遞或全域狀態管理。 啟動過程中過多的同步讀寫存儲,會顯著影響啟動耗時。

  • 功能說明: 將資料存儲在本地緩存中指定的key中。 會覆蓋掉原來該key對應的內容。 除非用戶主動删除或因存儲空間原因被系統清理,否則數據都一直可用。 單個key允許存儲的最大數據長度為1MB,所有資料存儲上限為10MB。

  • 參數及說明: string key, 本地緩存中指定的key; any data, 需要存儲的內容。 只支持原生類型、 Date、 及能够通過JSON.stringify序列化的對象。

  • 示例代碼:

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

revokeBufferURL

TIP

該API使用方法為: wx.revokeBufferURL(string url)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 根據URL銷毀存在記憶體中的數據。
  • 參數及說明: string url, 需要銷毀的二進位數據URL。

removeStorage

TIP

該API使用方法為: wx.removeStorage(Object object)

  • 功能說明: 從本地緩存中移除指定key

  • 參數及說明: Object object。

    内容類型預設值必填說明
    keystring-本地緩存中指定的key
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.removeStorage({
  key: 'key',
  success (res) {
    console.log(res)
  }
})
js
try {
  wx.removeStorageSync('key')
} catch (e) {
  // Do something when catch error
}

removeStorageSync

TIP

該API使用方法為: wx.removeStorageSync(string key)

  • 功能說明: wx.removeStorage 的同步版本

  • 參數及說明: string key,本地緩存中指定的key。

  • 示例代碼:

js
wx.removeStorage({
  key: 'key',
  success (res) {
    console.log(res)
  }
})
js
try {
  wx.removeStorageSync('key')
} catch (e) {
  // Do something when catch error
}

getStorage

TIP

該API使用方法為: wx.getStorage(Object object)

  • 功能說明: 從本地緩存中非同步獲取指定key的內容。

  • 參數及說明: Object object。

    内容類型預設值必填說明
    keystring-本地緩存中指定的key
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
    • object.success回呼函數參數: Object res

      内容類型說明
      dataanykey對應的內容
  • 示例代碼:

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

createBufferURL

TIP

該API使用方法為: string wx.createBufferURL(ArrayBuffer|TypedArray buffer)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 根據傳入的buffer創建一個唯一的URL存在記憶體中
  • 參數及說明: ArrayBuffer|TypedArray buffer,需要存入記憶體的二進位數據。
  • 返回值: string。

getStorageSync

TIP

該API使用方法為: any wx.getStorageSync(string key)

TIP

storage應只用來進行數據的持久化存儲,不應用於運行時的數據傳遞或全域狀態管理。 啟動過程中過多的同步讀寫存儲,會顯著影響啟動耗時。

  • 功能說明: 從本地緩存中同步獲取指定key的內容。

  • 參數及說明: string key, 本地緩存中指定的key。

  • 返回值: any key對應的內容

  • 示例代碼:

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

getStorageInfo

TIP

該API使用方法為: wx.getStorageInfo(Object object)

  • 功能說明: 非同步獲取當前storage的相關資訊。

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
    • object.success回呼函數參數: Object object

      内容類型說明
      keysArray.<string>當前storage中所有的key
      currentSizenumber當前佔用的空間大小,單位KB
      limitSizenumber限制的空間大小,單位KB
  • 示例代碼:

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

getStorageInfoSync

TIP

該API使用方法為: Object wx.getStorageInfoSync()

  • 功能說明: wx.getStorageInfo的同步版本

  • 返回值: Object object。

    • object.success回呼函數參數: Object object

      内容類型說明
      keysArray.<string>當前storage中所有的key
      currentSizenumber當前佔用的空間大小,單位KB
      limitSizenumber限制的空間大小,單位KB
  • 示例代碼:

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

clearStorage

TIP

該API使用方法為: wx.clearStorage(Object object)

  • 功能說明: 清理本地數據緩存

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

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

clearStorageSync

TIP

該API使用方法為: wx.clearStorageSync()

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

batchSetStorage

TIP

該API使用方法為: wx.batchSetStorage(Object object)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 將資料存儲在本地緩存中指定的key中。 會覆蓋掉原來該key對應的內容。 除非用戶主動删除或因存儲空間原因被系統清理,否則數據都一直可用。 單個key允許存儲的最大數據長度為1MB,所有資料存儲上限為10MB。

  • 參數及說明: Object object。

    内容類型預設值必填說明
    kvListArray-[{ key, value }]
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
    • Array.<Object> kvList
    内容類型必填說明
    keystringkey本地緩存中指定的key
    valueanydata需要存儲的內容。 只支持原生類型、 Date、 及能够通過JSON.stringify序列化的對象
  • 示例代碼:

js
wx.setStorage({
  key:"key",
  data:"value"
})
js
// Enable encrypted storage
wx.batchSetStorage({
  kvList: [{
    key: 'key',
    value: 'value',
  }],
})

batchSetStorageSync

TIP

該API使用方法為: Array.<any> wx.batchGetStorageSync(Array.<string> keyList)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 將資料存儲在本地緩存中指定的key中。 會覆蓋掉原來該key對應的內容。 除非用戶主動删除或因存儲空間原因被系統清理,否則數據都一直可用。 單個key允許存儲的最大數據長度為1MB,所有資料存儲上限為10MB。

  • 參數及說明: Array.<Object> kvList。

    内容類型必填說明
    keystringkey本地緩存中指定的key
    valueanydata需要存儲的內容。 只支持原生類型、 Date、 及能够通過JSON.stringify序列化的對象
  • 示例代碼:

js
try {
  wx.batchSetStorageSync([{key: 'key', value: 'value'}])
} catch (e) { }

batchGetStorage

TIP

該API使用方法為: wx.batchGetStorage(Object object)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 從本地緩存中非同步批量獲取指定key的內容。

  • 參數及說明: Object object。

    内容類型預設值必填說明
    kvListArray<string>-本地緩存中指定的keyList
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.batchGetStorage({
  keyList: ['key'],
  success (res) {
    console.log(res)
  }
})

batchGetStorageSync

TIP

該API使用方法為: Array.<any> wx.batchGetStorageSync(Array.<string> keyList)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 從本地緩存中同步獲取指定key的內容

  • 參數及說明: Array.<string> keyList, 本地緩存中指定的key數組

  • 返回值: Array.<any>,key對應的內容

  • 示例代碼:

js
// For reading multiple keys, batch reading is superior in performance to multiple getStorageSync readings.
try {
  var valueList = wx.batchGetStorageSync(['key'])
  if (valueList) {
    // Do something with return value
}
} catch (e) {
  // Do something when catch error
}