百度智能小程序 數(shù)據(jù)緩存流程

2020-09-05 14:15 更新

數(shù)據(jù)緩存流程

每個(gè)百度小程序都可以有自己的本地緩存,可以通過相關(guān) API 對(duì)本地緩存進(jìn)行讀寫和清理。

說明:

  1. 同一個(gè)用戶,同一個(gè)小程序 storage 上限為 10MB。
  2. 在未登錄狀態(tài),若存入了 storage 數(shù)據(jù),則在用戶登錄時(shí),數(shù)據(jù)將被繼承到該賬戶。
  3. 在用戶退出登錄時(shí),將清理運(yùn)行中的小程序進(jìn)程,同時(shí)清空 storage 數(shù)據(jù)。

注意:同一個(gè)賬戶退出登錄后重新登錄,由于退登清理策略,原賬戶 storage 數(shù)據(jù)將會(huì)丟失。我們不建議將關(guān)鍵信息全部存在 storage 中,以防出現(xiàn)用戶頻繁切換賬戶或用戶換設(shè)備的情況。

基本流程

數(shù)據(jù)緩存每個(gè) API 提供同步和異步方法,使用的基本流程如下, 以異步存儲(chǔ)為例:

  1. 添加數(shù)據(jù)緩存
    將數(shù)據(jù)異步存儲(chǔ)在本地緩存指定的 key 中。如果之前存在同名 key,會(huì)覆蓋掉原來該 key 對(duì)應(yīng)的內(nèi)容。
    const key = 'mockData';
    const data = {
        value1: 'getStorageData1',
        value2: 'getStorageData2'
    };
    swan.setStorage({
        key,
        data,
        success: () => console.log('添加成功'),
        fail: () => console.log('添加失敗'),
        complete: () => console.log('添加完成')
    });
    
  2. 獲取數(shù)據(jù)緩存
    從本地緩存中異步獲取指定 key 對(duì)應(yīng)的內(nèi)容。 接上例
  3. swan.getStorage({
        key,
        success: res => console.log('獲取成功', res),
        fail: () => console.log('獲取失敗'),
        complete: () => console.log('獲取完成')
    })
    
  4. 刪除指定數(shù)據(jù)緩存
    從本地緩存中異步移除指定 key。
    // 接上例
    swan.removeStorage({
        key,
        success: res => console.log('刪除成功', res),
        fail: () => console.log('刪除失敗'),
        complete: () => console.log('刪除完成')
    })
    
  5. 清理本地緩存
    清理本地?cái)?shù)據(jù)緩存,會(huì)將本地緩存全部刪除掉。
    swan.clearStorage({
        success: res => console.log('清除成功', res),
        fail: () => console.log('清除失敗'),
        complete: () => console.log('清除完成')
    })
    
  6. 獲取當(dāng)前數(shù)據(jù)緩存的信息
    異步獲取當(dāng)前 storage 的相關(guān)信息,返回的具體信息參見 swan.getStorageInfo。
    swan.getStorageInfo({
        success: res => console.log(res.keys),
        fail: err => console.log('獲取操作失敗')
    });


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)