什么是本地存储的有效期?

本地缓存设置有效期?

        使用localStorage本地缓存存储数据时不能像cookie那样设置有效期,使得数据会一直存在浏览器中,除非人为删除。这时我们可以封装一下localStorage,在需要有效期的数据存储时同时设置到期时间,读取的时候判断是否过期,过期则清除。

        本地存储的四种方式:cookie,localStorage, sessionStorage, indexDB
cookie: 通过 expires / max-age 设置过期时间。如不指定,则为 session cookie, 即一次会话有效。
localStorage: 持久存储,需主动清除
sessionStorage: 会话存储,会话结束(浏览器,标签页关闭)自动清除。
indexDB: 持久存储,需主动删除。

const getExpireKey = key => key + '_expire_time'
const setStorageSync = (key, value, expire) => {if (expire) {let time = new Date().getTime() + expire * 1000time && uni.setStorageSync(getExpireKey(key), time)}uni.setStorageSync(key, value)
}
const getStorageSync = key => {let expire = uni.getStorageSync(getExpireKey(key))if (expire && expire < new Date().getTime()) {uni.removeStorageSync(getExpireKey(key))uni.removeStorageSync(key)}return uni.getStorageSync(key)
}

在存储时判断是否有过期时间expire,这里以秒为单位,可以自己增加一个时间单位的参数,有则同时将过期时间存入缓存,key为原来的key拼上_expire_time。

在读取缓存数据时,先判断该key值是否有设置有效期,如果有则与当前时间对比判断是否过期,过期则清除缓存,未设置有效期或未过期则直接返回数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024 极术通讯-AI 2024:端、边AI将成为硬件厂商布局重点

导读&#xff1a;极术社区推出极术通讯&#xff0c;引入行业媒体和技术社区、咨询机构优质内容&#xff0c;定期分享产业技术趋势与市场应用热点。 芯方向 Helium 技术讲堂 | 为何不直接采用 Neon&#xff1f; 当人工智能 (AI) 下沉到各式各样的应用当中&#xff0c;作为市场…

【设计模式之美】SOLID 原则之三:里式替换(LSP)跟多态有何区别?如何理解LSP中子类遵守父类的约定

文章目录 一. 如何理解“里式替换原则”&#xff1f;二. 哪些代码明显违背了 LSP&#xff1f;三. 回顾 一. 如何理解“里式替换原则”&#xff1f; 子类对象能够替换程序中父类对象出现的任何地方&#xff0c;并且保证原来程序的逻辑行为不变及正确性不被破坏。 里氏替换原则…

Sui链上铭文爆火,TPS近6000领先同行

在2023年接近尾声时&#xff0c;用户涌入众多智能合约平台进行铭文相关交易&#xff0c;无意中对各种网络进行了压力测试。在许多平台出现拥堵和费用飙升的情况下&#xff0c;Sui通过实现令人印象深刻的TPS&#xff0c;在没有减速或gas费用激增的情况下脱颖而出。 最初用于比特…

人工智能(AI)在未来电影制作业中的革命性影响及挑战

随着人工智能&#xff08;AI&#xff09;技术的不断突破&#xff0c;其对电影制作行业的改造和影响日益显著。本文旨在深入探讨AI在未来的应用将如何重塑电影制作流程、提升作品质量&#xff0c;并同时面对的挑战与变革。 一、优化电影制作流程与降低成本 AI在电影制作中的应用…

vue3+vite +element plus日历date picker中文显示

项目情况 element-plus 默认是英文模式&#xff0c;需要中文模式的话需要设置一下&#xff1a; 项目框架&#xff08;vue3&#xff09;&#xff1a;vite JS element-plus 版本&#xff1a;&#xff08;注意版本兼容&#xff0c;element plus 较低版本&#xff1a;1.xx.xx&a…

Docker 容器管理和镜像管理基础知识(二)

Docker 容器管理和镜像管理 容器管理 docker create 命令用于在 Docker 中创建一个新的容器&#xff0c;但不会自动启动它。这个命令会返回容器的 ID&#xff0c;可以使用它来 进一步操作容器&#xff0c;这也是与 docker run 命令的一个区别 以下是 docker create 的基本用…

Kotlin 作用域函数

作用域函数&#xff08;Scope Functions&#xff09; 函数参数返回值说明letitlambda result非空对象执行代码块applythis上下文对象用于对象配置操作alsoit上下问对象执行额外操作runthislambda result用于对象配置和计算结果withthislambda result非扩展函数&#xff0c;配置…

STL标准库与泛型编程(侯捷)笔记3

STL标准库与泛型编程&#xff08;侯捷&#xff09; 本文是学习笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 参考链接 Youbute: 侯捷-STL标准库与泛型编程 B站: 侯捷 - STL Github:STL源码剖析中源码 https://github.com/SilverMaple/STLSourceCo…

中国式浪漫:古人对万物的雅称

古人对万物的称呼都是美而浪漫&#xff0c;在诗词中&#xff0c;女子被称为红妆、佳人、婵娟、碧玉、红颜。雪也叫作琼芳、玉絮、六花、玉鸾&#xff1b;在诗词中&#xff0c;每一缕风&#xff0c;每一片雪&#xff0c;都有一个雅致的名字。所谓的诗情画意&#xff0c;便是用普…

基于深度学习的停车位关键点检测系统(代码+原理)

摘要&#xff1a; DMPR-PS是一种基于深度学习的停车位检测系统&#xff0c;旨在实时监测和识别停车场中的停车位。该系统利用图像处理和分析技术&#xff0c;通过摄像头获取停车场的实时图像&#xff0c;并自动检测停车位的位置和状态。本文详细介绍了DMPR-PS系统的算法原理、…

最短路径问题相关算法、原理及适用场景

这里写目录标题 一、最短路径算法、原理及适用场景深度优先搜索算法/广度优先搜索算法Floyd算法&#xff08;Floyd-Warshell算法&#xff09;Dijkstra算法A*算法贝尔曼福特算法&#xff08;Bellman-Ford Algorithm&#xff09;SPFA算法&#xff08;Shortest Path Faster Algori…

FPGA高端项目:纯verilog的 25G-UDP 高速协议栈,提供工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的以太网方案本协议栈的 1G-UDP版本本协议栈的 10G-UDP版本1G 千兆网 TCP-->服务器 方案1G 千兆网 TCP-->客户端 方案10G 万兆网 TCP-->服务器客户端 方案 3、该UDP协议栈性能4、详细设计方案设计架构框图网络调试助手…

传感数据分析——小波滤波

传感数据分析——小波滤波 文章目录 传感数据分析——小波滤波前言一、运行环境二、Python实现总结 前言 小波滤波算法是一种基于小波变换的滤波方法&#xff0c;其核心思想是将信号分解成不同的频率成分&#xff0c;然后对每个频率成分进行独立的处理。小波滤波器的设计和应用…

第12课 实现桌面与摄像头叠加

在上一节&#xff0c;我们实现了桌面捕获功能&#xff0c;并成功把桌面图像和麦克风声音发送给对方。在实际应用中&#xff0c;有时候会需要把桌面与摄像头图像叠加在一起发送&#xff0c;这节课我们就来看下如何实现这一功能。 1.备份与修改 备份demo11并修改demo11为demo12…

安达发|基于APS排程系统的PDM功能

APS系统&#xff08;Advanced Planning and Scheduling&#xff0c;先进计划与排程&#xff09;是一种基于APS系统&#xff08;Advanced Planning and Scheduling&#xff0c;先进计划与排程&#xff09;是一种基于供应链管理和生产管理的综合性软件系统。它通过整合企业内外部…

在anaconda中安装pytorch的GPU版本

本文前提&#xff1a; 1.你已经下载好了anaconda,最好是新建一个虚拟环境来安装pytorch的GPU版本&#xff0c;并且设置了国内镜像源&#xff1b; 2.了解自己电脑对应的cuda版本&#xff0c;可通过nvidia-smi&#xff0c;并下载好了cuda。 安装pytorch的GPU版本 到官网中https…

微信公众号-订阅通知

第一步&#xff1a; 公众号需要实名认证&#xff0c;完成以后&#xff01; 设置-开发里找到基本配置&#xff1a; 开发者ID(AppID):xxxxxxxxxxxxxxxxxxxxxxxxx 开发者密码(AppSecret):xxxxxxxxxxxxxxxxxxxxxxxxx 白名单IP也要填写上你的服务器IP哦&#xff01; 第二步&am…

聊天Demo

文章目录 参考链接使用前端界面消息窗口平滑滚动至底部vue使用watch监听vuex中的变量变化 参考链接 vue.js实现带表情评论功能前后端实现&#xff08;仿B站评论&#xff09; vue.js实现带表情评论仿bilibili&#xff08;滚动加载效果&#xff09; vue.js支持表情输入 vue.js表…

使用Scrapy框架和代理IP进行大规模数据爬取

目录 一、前言 二、Scrapy框架简介 三、代理IP介绍 四、使用Scrapy框架进行数据爬取 1. 创建Scrapy项目 2. 创建爬虫 3. 编写爬虫代码 4. 运行爬虫 五、使用代理IP进行数据爬取 1. 安装依赖库 2. 配置代理IP和User-Agent 3. 修改爬虫代码 4. 运行爬虫 六、总结 一…

【AI视野·今日Sound 声学论文速览 第四十二期】Fri, 5 Jan 2024

AI视野今日CS.Sound 声学论文速览 Fri, 5 Jan 2024 Totally 10 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers PosCUDA: Position based Convolution for Unlearnable Audio Datasets Authors Vignesh Gokul, Shlomo Dubnov深度学习模型需要大量干净的…