【微信小程序】缓存过期时间的相关设置

这篇具有很好参考价值的文章主要介绍了【微信小程序】缓存过期时间的相关设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序缓存机制介绍

  每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)wx.getStorage(wx.getStorageSync)wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。

  但是微信默认设置了缓存是无限长的过期时限,这对于我们的小程序开发,是非常不好的。

哪些是一定需要过期的缓存

  我正在开发的项目中,用户通过第三方登录拿到一个token,每次请求都必须带上token,但是token的时限是30分钟。

  所以token就属于有必要当成缓存,但是又必须设置缓存时限的数据。

写法

  在用户登录成功后,把过期时间、token一起存入缓存:

// 设置token缓存
wx.setStorageSync('token', res.data.token);
// 当前时间
var timestamp = Date.parse(new Date());
// 加上过期期限
var expiration = timestamp + 1200000; //缓存20分钟
// 存入缓存
wx.setStorageSync('data_expiration', expiration);

  在app.js入口文件里,监测是否超时:文章来源地址https://www.toymoban.com/news/detail-527203.html

// 缓存是否过期
  _isExpiration() {
  	// 当前时间
    var timestamp = Date.parse(new Date());
    // 缓存中的过期时间
    var data_expiration = wx.getStorageSync("data_expiration");
    // 如果缓存中没有data_expiration,说明也没有token,还未登录
    if (data_expiration) {
      // 如果超时了,清除缓存,重新登录
      if (timestamp > data_expiration) {
        wx.clearStorageSync();
        return true;
      }else{
        return false;
      }
    }
    return true;
  },

到了这里,关于【微信小程序】缓存过期时间的相关设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序getStorageSync、setStorageSync数据缓存,优化页面加载

    1、将数据缓存到本地 : 同步缓存:wx.setStorageSync() 异步缓存:wx.setStorage() 2、从本地缓存获取数据: 同步:wx.getStorageSync() 异步:wx.getStorage()      

    2024年02月12日
    浏览(60)
  • 前端接口请求支持内容缓存和过期时间

    支持用户自定义缓存时间,在规则时间内读取缓存内容,超出时间后重新请求接口 首先封装一下 axios,这一步可做可不做。但是在实际开发场景中都会对 axios 做二次封装,我们在二次封装的 axios 基础上继续封装,增加支持缓存功能 request.js 新建 catchAjax.js ,当我们想用接口

    2024年02月06日
    浏览(37)
  • uni-app uni-ui 微信小程序 uni-datetime-picker 时间选择组件设置start和end属性,实现时间选择限制

     效果如图,先选择开始日期,完成日期需要在开始日期之后,先选择完成日期,开始日期需要在完成日期之前 需要用到uni-datetime-picker官方的三个属性  代码如下 这样一个能够限制选定范围的组件就ok了!    

    2024年02月11日
    浏览(71)
  • 转载 spring @Cacheable扩展实现缓存自动过期时间以及自动刷新

    用过spring cache的朋友应该会知道,Spring Cache默认是不支持在@Cacheable上添加过期时间的,虽然可以通过配置缓存容器时统一指定。形如 复制 但有时候我们会更习惯通过注解指定过期时间。今天我们就来聊一下如何扩展@Cacheable实现缓存自动过期以及缓存即将到期自动刷新 2 实现

    2024年02月03日
    浏览(43)
  • SpringCache 框架使用以及序列化和缓存过期时间问题的解决

    目录 为什么使用Spring Cache 如何使用Spring Cache 1 加依赖 2 开启缓存 3 加缓存注解 序列化以及过期时间等问题 解决方案:自定义序列化方式 1.自定义序列化方式并设置白名单 2.配置并设置缓存的过期时间         缓存有诸多的好处,于是大家就摩拳擦掌准备给自己的应用加

    2024年02月15日
    浏览(41)
  • 【微信小程序】将 token 配置为全局变量,使用定时器来检测 token 过期

    在微信小程序中,你可以将 token 配置为全局变量,并使用定时器来检测 token 是否过期。当 token 过期时,将其设置为 null。 首先,在 app.js 文件中定义一个全局变量 token,并设置初始值为 null,例如: 接下来,在获取 token 的函数中,将获取到的 token 设置为全局变量,并开启一

    2024年02月15日
    浏览(53)
  • cookies 设置过期时间

    F12-Application-Cookies可以查看到网页所有设置cookie值, 如果设置了过期时间的cookie是可以看到过期时间的持久cookie(persistent cookie), 没有设置过期时间的是会话cookie(session cookie) 设置3小时后过期

    2024年02月09日
    浏览(40)
  • 给localStorage设置过期时间

    登录成功了之后后端会返回给我一个token,一般情况下我会将这个token存到localStorage中,后续再每一次请求中都会将这个token携带在请求头中。 至于为什么要存到localStorage中呢,相信做过单页web应用的开发者们也知道,如果不存着,那用户刷新了就啥都没有了。 浏览器给我们

    2024年02月07日
    浏览(40)
  • redis设置过期时间

    Redis 设置过期时间的意思是为一个 key 设置一个时间窗口,在这个时间窗口内,该 key 可以被访问和使用,到达时间窗口后,Redis 会自动删除过期的 key。可以使用 Redis 的 expire 命令或其他相关命令来设置一个 key 的过期时间。设置过期时间可以有效控制 Redis 中存储的数据量,

    2024年02月01日
    浏览(35)
  • kafka单独设置topic过期时间

    kafka 默认存放7天的临时数据,如果遇到磁盘空间小,存放数据量大,可以设置缩短这个时间。 一、全局设置 修改 server.properties,如下的值: 二、单独对某一个topic设置过期时间 但如果只有某一个topic数据量过大,想单独对这个topic的过期时间设置短点: 三、查看设置: 四、

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包