• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > 微信开发入门(九)本地缓存

微信开发入门(九)本地缓存

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了微信开发,本地缓存等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
目前,微信给每个小程序提供了10M的本地缓存空间(哎哟妈呀好大)

  1. 有了本地缓存,你的小程序可以做到:

    • 离线应用(已测试在无网络的情况下,可以操作缓存数据)

    • 流畅的用户体验

    • 减少网络请求,节省服务器资源

  2. 哪些数据适合方缓存:

    • 热数据

    • 静态数据(用户数据,服务器授权ID等)

    • 网络地址(图片、文件等网络地址)

    • 分页列表数据及详情内容

  3. 一般的缓存系统采用键值对的方式完成数据插入和读取,通过对key进行一次Hash算法得到一个唯一值,并与value绑定起来;查询的时候对根据Hash后的key查询,算法空间复杂度O(1);

  4. 小程序本地缓存的实现基于上述方式实现。但是数据究竟是存储在ROM,还是存储在RAM后进行持久化,这个问题有待考究。

  5. 对本地缓存数据操作分为同步和异步两种。同步方法有成功回调函数,表示数 据处理成功后的操作。下面是小程序提供本地缓存操作接口:

操作异步方法同步方法
插入wx.setStoragewx.setStorageSync
读取wx.getStoragewx.getStorageSync
删除wx.removeStoragewx.removeStorageSync
清空wx.clearStoragewx.clearStorageSync
获取缓存信息wx.getStorageInfowx.getStorageInfoSync

以Sync结尾都是同步方法。同步方法和异步方法的区别是:

  • 同步方法会堵塞当前任务,直到同步方法处理返回。

  • 异步方法不会塞当前任务。

6.下面以插入缓存的两个方法说明同步和异步的区别:

1. 先调用异步方法,再调用同步方法

 Page({save: function(e){console.log('开始保存')wx.setStorage({
   key: 'key1',
   data: 'data1',
   success: function(res){
    console.log('异步保存成功')  }})wx.setStorageSync('key2', 'data2')console.log('同步保存成功')  }})

执行结果:

可以看出,同步方法比异步方法先保存成功,说明异步方法没有阻塞当前任务。

1.先调用同步方法,再调用异步方法

Page({save: function(e){console.log('开始保存')wx.setStorageSync('key2', 'data2')console.log('同步保存成功')wx.setStorage({
  key: 'key1',
  data: 'data1',
  success: function(res){
    console.log('异步保存成功')  }})  }})

执行结果:

可以看出,异步方法只有等到同步方法执行成功才会执行。

缓存API提供了一个获取本地缓存信息的接口wx.getStorageInfo,有了它,开发者可以在已有api上再次封装,比如加入缓存时间、不覆盖插入、批量删除、判断当前缓存大小等。

最后一个是缓存隔离级别的问题:

  1. 同一手机,不同小程序应用,至少在逻辑存储上肯定不是共享缓存,满足应用级别隔离。

  2. 同一手机,同一个小程序,不同微信用户扫码使用,经测试,也不共享缓存,目前测试条件下,是用户级别隔离。

  3. 同一手机,同一个小程序,同一微信用户两次扫码使用,经测试,是共享缓存。

  4. 同一手机,同一个小程序,不同微信用户切换使用(分别扫码两次),经测试,同一个用户共享缓存,不同用户间不共享缓存。

目前可以推断在真机调试条件下,每个小程序扫码用户都会分配10M的本地缓存。
以上是个人在真机测试得到的结果,结果不一定完全准确,仅供参考。

【相关推荐】

1. 微信公众号平台源码下载

2. 小猪cms(PigCms)微电商系统运营版(独立微店商城+三级分销系统)

3. 微信人脉王v3.4.5高级商业版 微信魔方源码

以上就是微信开发入门(九)本地缓存的详细内容,更多请关注其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信开发教程:自动回复消息和客服消息,文本带链接跳转
  • php 实现微信开发获取用户信息
  • 微信开发实战之模块化的实例详解
  • 微信开发之列表渲染多层嵌套循环
  • 总结一个微信开发的过程实例
  • 微信开发入门(jssdk开发)
  • 微信开发之介绍CreateTime
  • 微信公众号开发--解析CreateTime
  • 微信开发之微信支付
  • 详解微信开发中视图层(xx.xml)和逻辑层(xx.js)

相关文章

  • C#开发微信门户及应用微信支付接入和API封装使用
  • 微信实现分享链接的缩略图和标题
  • 微信开发跳坑之Post请求
  • php微信开发之上传临时素材介绍
  • 利用.NET号开发微信公众号创建自定义菜单方法
  • 概述微信开发
  • 微信公众平台开发:多客服接口说明
  • 微信二维码登录中的JS代码分析
  • 关于微信用户注册登录实例代码汇总
  • Yii2.0实现微信公众号后台开发

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信开发的本地调试环境搭建介绍
    • 微信公众号开发网页中及时获取当前用户Openid及注意事项
    • 有关C#微信公众平台开发的课程推荐10篇
    • 分享微信公众号开发模板消息的实例教程
    • 微信小程序 教程之小程序配置
    • 微信开发之解绑设备通知的方法
    • 使用js实现微信分享功能的实例代码
    • 总结关于form组件注意点
    • PHP微信开发之文本自动回复介绍
    • 微信小程序开发入门实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有