前端缓存方式以及区别(vue项目)

这篇具有很好参考价值的文章主要介绍了前端缓存方式以及区别(vue项目)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、缓存方式含有哪几种

       vuex、cookie、sessionStorage、localStorage

二、区别

1、vuex

vuex主要用于vue 组件之间的通信,页面一刷新数据就会消失。
原因:
       vuex 是挂载到vue实例上的,相当于全局变量,当页面一刷新,页面重新加载vue 实例,vuex里面的数据被重新赋值。
使用:
https://vuex.vuejs.org/zh/
一般结合localStorage、sessionStorage一起使用

2、cookie

       cookie 浏览器存储,具有存储大小(不能大于4K)和有效期限制(vue中默认有效时间为浏览器关闭,也可以和后台交互设置有效时间来存储,也可以设置,google的setting里面,可以去找找/控制台的Application里面)
使用:

export function setCookie (cname, value, expire) {
  var date = new Date()
  date.setSeconds(date.getSeconds() + expire)
  document.cookie = cname + '=' + escape(value) + '; expires=' + date.toGMTString()
  // console.log(document.cookie)
}
 
export function getCookie (cname) {
  if (document.cookie.length > 0) {
    let cstart = document.cookie.indexOf(cname + '=')
    if (cstart !== -1) {
      cstart = cstart + cname.length + 1
      let cend = document.cookie.indexOf(';', cstart)
      if (cend === -1) {
        cend = document.cookie.length
      }
      return unescape(document.cookie.substring(cstart, cend))
    }
  }
  return ''
}
 
export function delCookie (cname) {
  setCookie(cname, '', -1)
}

3、sessionstorage (临时存储)

       会话级别,大小限制为5M,关闭页面或这浏览器数据就会被删除。
       将数据保存在session对象中。所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据。
使用:
       1.查询数据:sessionStorage.getItem(‘token’)
       2.修改数据:sessionStorage.setItem(‘token’, ‘lalla’)
       3.删除数据/全删除:sessionStorage.removeItem(“token”) | sessionStorage.clear()
       

4、localStorage(本地存储)

       永久存储在本地,除非主动删除
       将数据保存在客户端本地的硬件设备(通常指硬盘,也可以是其他硬件设备)中,即使浏览器被关闭了,该数据仍然存在,下次打开浏览器访问网站时仍然可以继续使用。
使用:
       1.查询数据:localStorage.getItem(‘dataTest’)
       2.修改数据:localStorage.setItem(‘dataTest’, ‘这是测试的’)
       3.删除数据/全删除:localStorage.removeItem(‘dataTest’) | localStorage.clear()
localStorage的优势以及其注意点:
       在存储方面localstorage和sessionStorage具有巨大优势,大小为5M,比cookie大多了,所以可以用localStorage来做一些相对不太会改变的数据缓存或者说可以缓存用户的足迹,换个说法,localStorage是一个小型的数据库
注意点:
1、兼容性
vue 浏览器缓存方式有几种 分别作用,前端总结笔记,前端,缓存,vue.js

2、localStorage的值为string类型,这就说明我们在使用的时候要进行类型转换
3、在浏览器隐私模式下不可读取
4、不同浏览器无法共享localStorage
不同浏览器无法共享localStorage,相同浏览器的不同页面可以共享相同的localStrage(页面属于相同域名和端口),但是不同页面或标签间无法共享sessionStorage的信息(页面以及标签页仅指顶级窗口,如果一个页面包含多个iframe标签且他们属于同一个源页面,那么他们之间可以共享sessionStorage)
5、localStorage不能被爬虫获取
6、存储过多会导致页面卡,因为localStorage本质是对字符串的读取
7、localStorage 是同步写入的,如果写入较大的数据可能会阻塞页面渲染。这是不推荐的。对于较大的数据存储,最好使用异步的方式来缓解这个问题。
8、值得注意的是,存储限制是针对每个来源(域名和协议组合)的。这意味着如果你的网站使用了不同的子域名(例如,www.example.com 和 blog.example.com),它们之间的 localStorage 存储是独立的,每个子域名都有自己的 5MB 的存储空间。当 localStorage 存储空间达到限制时,再次写入数据将会触发“QUOTA_EXCEEDED_ERR”错误,表示超过了存储配额。解决这个问题的方法包括清除不再需要的数据、压缩数据以减小大小,或者使用其他类型的存储(例如 IndexedDB)来替代 localStorage。

结论:

使用需考虑存储数据的大小,存储时间以及是否需要和服务器交互等因素。
       1、一般vue会选择sessionStorage,因为一是vue是单页面应用,操作都是在一个页面跳转路由,二是可以保证打开页面时,sessionStorage的数据为空,而如果是localStorage则会读取上一次打开页面的数据
       2、cookie的数据会自动传递到服务器端,服务器端也可以写cookie到客户端
       3、localStorage和sessionStorage不会把数据自动传到服务器端,仅在本地存储
       4、localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理
       5、vuex主要用于组件之间的传值,localstorage,sessionstorage用于不同页面之间的传值。
本文参考:
       https://blog.csdn.net/weixin_46846007/article/details/131165731
       https://blog.csdn.net/by_side_with_sun/article/details/92400853
       https://blog.csdn.net/weixin_43416349/article/details/120593476
       https://www.cnblogs.com/mmzuo-798/p/10259834.html
       https://blog.csdn.net/qq_40856225/article/details/81974582
       https://www.shence123.com/s/23796.html文章来源地址https://www.toymoban.com/news/detail-850887.html

到了这里,关于前端缓存方式以及区别(vue项目)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vue项目版本打包更新后文件及浏览器存在缓存问题解决方案

    在vue.config.js中配置output,打包后的文件会带时间戳 在public/static目录下新建version.json文件  在src中新建 utils文件夹 文件夹中新建versionUpdate.js文件  在src文件夹下创建addVersion.js  写法二 修改package.json中scripts中的打包命令 版本号自加使用fs修改文件来实现 具体思路是:在执行

    2024年02月11日
    浏览(46)
  • 前端vue调试工具:chrome浏览器vue-devtools安装方式详述

    vue-devtools官方文档,也可按照官方文档操作 下面将介绍chrome集成vue-devtools的两种方式 通过扩展-扩展程序-访问chrome应用商店输入vue-devtools搜索插件即可 下载源码选择对应的版本tag官方源码 我们这里选择最新版本v6.5.1 下载压缩包,或clone都可以*( 克隆命令: 安装依赖以及打

    2024年03月15日
    浏览(67)
  • 前端小程序,h5,浏览器,app, doc,.docx,.ofd,.PDF,.WPS以及Office文档的在线解析预览方式

    在线预览是将Word、PPT、Excel、PDF、OFD、音视频等文件在浏览器中解析查看。       我使用的是usdoc,也有用office online进行在线预览,不过注意的是使用usdoc的时候,我们先需要注册和添加预览的地址域名 usdoc的地址:http://www.usdoc.cn 进入用户中心,我们进行注册 注册好之后,先

    2024年02月11日
    浏览(65)
  • 解决前端项目问题,uniapp运行微信开发工具小程序,出现× initialize报错,以及浏览器无法运行

    uniapp进行小程序以及多端web页面都不知道如何配置讲项目运行起来。 就会报出无法运行错误。 [微信小程序开发者工具] - initialize [微信小程序开发者工具] [微信小程序开发者工具] × IDE may already started at port , trying to connect如图 这是因为没有配置好安全设置和运行设置。 一,

    2024年01月20日
    浏览(73)
  • 浏览器刷新页面,缓存的处理方式,强制刷新

    刷新页面的缓存处理的方式对比 地址栏回车/直接访问 URL 保留强缓存,保留协商缓存,走正常请求流程 点击浏览器刷新按钮 忽略强缓存,保留协商缓存 按f5【command + r】 忽略强缓存,保留协商缓存 ctrl + f5 【command + shift + r 】 忽略强缓存,忽略协商缓存,从服务器端请求最

    2024年02月02日
    浏览(49)
  • 前端---需要了解浏览器相关知识--浏览器请求服务器资源---缓存

    掘金1:浏览器缓存 掘金2 :浏览器缓存 跟别人怎么讲,从大的说:缓存的原理是什么? 再说什么是浏览器缓存? 浏览器缓存 请求(静态资源 | 动态资源) 一、缓存是什么? 二、为什么? 浏览器是如何判断是否使用缓存的??第一次请求网页 第二次请求相同网页: 三、怎

    2024年02月12日
    浏览(58)
  • 浏览器缓存引发的odoo前端报错

    前两天,跑了一个odoo16项目,莫名其妙的前端报错, moment.js 报的错, 这是一个时间库,不是我自己写的代码,我也没做过任何修改,搞不清楚为什么报错。以为是odoo的bug,所以从gitee下载了odoo16最新的代码,测试了一下还是报错。 后来换成了一个非常老的odoo16版本,这回不

    2024年02月02日
    浏览(58)
  • 前端浏览器缓存知识梳理,前端工程师面试题目和答案

    所谓浏览器缓存其实就是指在本地使用的计算机中开辟一个内存区,同时也开辟一个硬盘区作为数据传输的缓冲区,然后用这个缓冲区来暂时保存用户以前访问过的信息。 浏览器缓存过程:  强缓存,协商缓存。 浏览器缓存位置一般分为四类:  Service Worker–Memory Cache–Di

    2024年04月15日
    浏览(52)
  • 【浏览器篇】记录下浏览器保存PDF文件不同方式的小区别

    以前不太注意这些,最近搞文档比较多才发现为何保存的一部分PDF文件里面字体可以复制可以搜索,一部分保存的PDF里面的字体却无法复制、无法搜索等,发现是不同保存方式得到的文档权限不一样,做个记录!—【蘇小沐】 1.实验环境 系统 版本 Windows 11 专业工作站版 22H

    2024年02月12日
    浏览(55)
  • 【Vue】浏览器缓存sessionStorage、localStorage、Cookie

    目录 一、sessionStorage 1、简介 2、方法 3、代码示例 a、存取单个数据 b、存取对象 c、清除数据 二、localStorage 1、简介 2、方法 3、代码示例 三、cookie 1、简介 2、方法 3、代码示例 四、三者区别 1、sessionStorage与localStorage区别 2、sessionStorage、localStorage、cookie区别 五、往期相关优

    2024年02月07日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包