文章目录

前言

本地缓存是指微信小程序存储在当前设备空间里地数据。在官方文档说明中,其所有的数据存储上限为10MB即单个小程序的存储空间上限为10MB。==在使用过程中用户使用本地缓存可以存储一些非重要性的生产操作,例如让小程序再次打开能快速渲染页面,减少用户等待时间。

快速上手

小程序提供了读写删本地缓存的方法:

  • wx.setStorageSync/wx.setStorage 写数据到本地缓存
  • wx.removeStorageSync/wx.removeStorage 根据key移除本地缓存
  • wx.getStorageSync/wx.getStorage 根据key获取指定缓存
  • wx.clearStorageSync/wx.clearStorage 清除本地缓存
    其中Sync结尾的表示同步接口

关于同步缓存和异步缓存的区别
异步与同步的区别是,异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。

写入本地缓存

//异步接口    
    wx.setStorage({
      key: 'key1',
      data: 'value1',
      success:function(){
          console.log("写入value1成功!")     
      },fail:function(){
          console.log("写入value1失败!")     
      }
    })


    //同步接口 只有1执行成功才会执行2或3
    try{
      wx.setStorageSync("key", "value2")      //1
      console.log("写入value2成功!")          //2
    }catch(e){
      console.log("写入value2失败!")         //3
    }

根据key读取本地缓存

    //异步接口    
    wx.getStorage({
      key: 'key1',
      success: function (res) {
        // 异步接口在success回调才能拿到返回值
        var value1 = res.data
      },
      fail: function () {
        console.log('读取key1失败')
      }

    })


    //同步接口
    try {
      // 同步接口立即返回值
      var value2 = wx.getStorageSync('key2')
    } catch (e) {
      console.log('读取key2失败')
    }

根据key移除本地缓存

//异步接口    
    wx.removeStorage({
      key: 'key1',
      success(res) {
        console.log("key为key1的缓存清除成功!")
      },fail:function(){
        console.log("key为key1的缓存清除失败!")
      }
    })


    //同步接口
    try {
      wx.removeStorageSync('key2')
      console.log("key值为2的缓存清除成功!")
    } catch (e) {
      console.log("key值为2的缓存清除失败!")
    }

清除本地所有缓存

    //异步接口    
    wx.clearStorage()


    //同步接口
    try {
      wx.clearStorageSync()
      console.log("清除本地所有缓存成功!!")
    } catch (e) {
     console.log("清除本地所有缓存失败!")
    }

最后,还要注意的一点是如果写入了同样key的缓存数据,后写的会覆盖了前者,因此需要我们注意一下

<以上资讯仅供参考,如果您需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询加速度产品经理获取方案和报价>

****更多行业产品开发方案,请关注jsudo加速度 https://www.jsudo.com***

【加速度jsudo(www.jsudo.com)】是国内知名企业数字化建设提供商,为企业提供电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售等)、智慧园区建设、数字化营销、人才外包等服务,点击这里查看了解更多行业解决方案。