广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vuex store 缓存存储原理分析
  • 645
分享到

vuex store 缓存存储原理分析

2024-04-02 19:04:59 645人浏览 安东尼
摘要

目录Vuex store 缓存存储原理如何使用store缓存数据1 src/store/index.js 写方法2 src/store/getter.js3 使用 store 存取数

vuex store 缓存存储原理

vuex 的设计是将数据存在一个对象树的变量中,我们的应用(vue应用)从这个变量中取数据,然后供应用使用,当将当前页面关闭, vuex 中的变量会随着消失,重新打开页面的时候,需要重新生成。

而,浏览器缓存(cookie,localstorage等)是将数据存到浏览器的某个地方,关闭页面,不会自动清空这些数据,当再次打开这个页面时,还是能取到之前存在浏览器上的数据(cookie,localstorage等)。

要使用 vuex 还是使用浏览器缓存,要看具体的业务场景。比如:像用户校验的 token 就可以存在 cookie 中,因为用户再次登录的时候能用到。而像用户的权限数据,这些是有一定安全性考虑,且不同用户的权限不同,放在 vuex 中更合理,用户退出时,自动销毁。

其次,vuex 中的 state 是单向的,也可以异步操作,这两个没有冲突。

vuex 中的 state 的设计思路是保证数据的一致性和连续性,而让 state 中的值只能通过 action 来发起 commit,进而改变 state 中的值。

而,action 中是 同步 还是 异步,都是单向地改变 state 中的值。 

如何使用store缓存数据

this.$store.commit('方法名',值)【存储】
this.$store.state.方法名【取值】

我使用的是 vue-element-admin

1 src/store/index.js 写方法

import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
Vue.use(Vuex)
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = modulesFiles(modulePath)
  modules[moduleName] = value.default
  return modules
}, {})
const store = new Vuex.Store({
  modules,
  getters,
  state: {               // SET_IMPORT 设置的这
    imports: []
  },
  mutations: {
    SET_IMPORT(state, routes) {      // 设置 SET_IMPORT方法,方法中设置存储某个值
      state.imports = routes
    }
  }
})
export default store

2 src/store/getter.js

const getters = {
  sidebar: state => state.app.sidebar,
  errorLogs: state => state.errorLog.logs,
  imports: state => state.imports    // 存储上面设置的 imports 字段
}
export default getters

3 使用 store 存取数据

const nullim = []
    var myMap = {}
    // 塞入键值对,当前上传文件
    myMap['filename'] = rawFile.name
    myMap['result'] = 0
    nullim.push(myMap)
this.$store.commit('SET_IMPORT', nullim)    // 存入缓存,调用 SET_IMPORT 方法
const old_imports = this.$store.getters.imports        // 取缓存中数据,通过字段名

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: vuex store 缓存存储原理分析

本文链接: https://www.lsjlt.com/news/165429.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vuex store 缓存存储原理分析
    目录vuex store 缓存存储原理如何使用store缓存数据1 src/store/index.js 写方法2 src/store/getter.js3 使用 store 存取数...
    99+
    2022-11-13
  • redis缓存存储Session原理机制
    目录基于 Redis 存储 Session首先安装 redis 存储引擎的包设置session过期时间分布式获取Session:(redis)基于 Redis 存储 Session ...
    99+
    2022-11-12
  • MyBatis一级缓存与二级缓存原理与作用分析
    目录缓存的作用MyBatis 的缓存结构一级缓存二级缓存缓存的作用 在 Web 系统中,最重要的操作就是查询数据库中的数据。但是有些时候查询数据的频率非常高,这是很耗费数据库资源的,...
    99+
    2022-12-27
    Mybatis 一级缓存 Mybatis 二级缓存 MyBatis一级缓存和二级缓存
  • Mybatis的一级缓存和二级缓存原理分析与使用
    目录Mybatis的一级缓存和二级缓存1 Mybatis如何判断两次查询是完全相同的查询2 二级缓存2.1 二级缓存配置2.2 二级缓存特点2.3 配置二级缓存2.4 测试Mybat...
    99+
    2022-11-12
  • C#指针内存控制Marshal内存数据存储原理分析
    目录了解内存的原理了解指针的原理1、通过指针修改 值类型 的变量数据2、通过指针修改 引用类型 的变量数据3、通过指针修改 数组对象 的成员数据4、通过指针修改 类对象 的字段数据5...
    99+
    2023-02-26
    C#指针 指针Marshal C#内存数据存储原理
  • redis缓存存储Session原理机制是什么
    这篇文章主要讲解了“redis缓存存储Session原理机制是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“redis缓存存储Session原理机制是什么”吧!基于 Redis 存储 S...
    99+
    2023-06-25
  • Vuex和前端缓存整合的示例分析
    这篇文章主要介绍了Vuex和前端缓存整合的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何存放或更新缓存?缓存数据来源是预知的,我...
    99+
    2022-10-19
  • AndroidRecyclerView缓存复用原理解析
    目录一、牵出缓存1.缓存还在屏幕内的ViewHolder——Scrap缓存mAttachedScrapmChangeScrap用一个例子说明2.缓存屏幕之外的...
    99+
    2022-11-13
    Android RecyclerView缓存复用 Android RecyclerView
  • kafka的消息存储机制和原理分析
    目录消息的保存路径数据分片log分段日志和索引文件内容分析在 partition 中通过 offset 查找 message过程日志的清除策略以及压缩策略日志的清理策略有两个日志压缩...
    99+
    2022-11-13
  • C++ 内存管理原理分析
    目录1.C/C++中程序内存分布1.1 内存分布图1.2 小试牛刀2.C语言部分的动态内存管理方式3.C++内存管理方式3.1new/delete操作内置类型3.2 new...
    99+
    2022-11-12
  • redis缓存延时双删的原因分析
    缓存为啥是删除,而不是更新? 如果是更新,存在分布式事务问题,可能出现修改了缓存,数据库修改失败的情况。只是删除缓存的话,就算数据库修改失败,下次查询会直接取数据库的数据,也不会出现脏数据。 延时双删是什么? 就是在增删...
    99+
    2022-08-16
    redis缓存延时双删 redis缓存延时
  • mysql的Buffer Pool存储及原理解析
    目录一、前言1、buffer pool是什么2、buffer pool的工作流程3、buffer pool缓冲池和查询缓存(query cache)二、buffer pool的内存数...
    99+
    2022-11-13
  • ThreadLocal数据存储结构原理解析
    目录一:简述二:TheadLocal的原理分析1.ThreadLocal的存储结构2.源码分析set()方法三:源码分析createMap()源码:流程图:expungeStaleE...
    99+
    2022-11-13
  • Java中内存分配的原理分析
    Java中内存分配的原理分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。深入Java核心Java内存分配原理精讲Java内存分配与管理是Java的核心技术之一,之前我们曾...
    99+
    2023-06-17
  • Web网络安全漏洞分析存储型XSS攻击原理
    目录存储型XSS攻击存储型XSS代码分析存储型XSS攻击 存储型XSS页面实现的功能是:获取用户输入的留言信息、标题和内容,然后将标题和内容插入到数据库中,并将数据库的留言信息输出到...
    99+
    2022-11-12
  • 如何在分布式缓存中存储和管理 Java 数组?
    Java 数组是一种非常常见的数据结构,但在分布式缓存中存储和管理数组需要注意一些细节。本文将介绍如何在分布式缓存中存储和管理 Java 数组。 一、分布式缓存简介 分布式缓存是指将数据分散存储在多个节点上,以减轻单个节点的负担,提高系统的...
    99+
    2023-06-14
    数组 分布式 缓存
  • PG wal 日志的物理存储分析
    原文链接:   http://www.postgres.cn/v2/news/viewone/1/385tdsourcetag=s_pcqq_aiomsg 我...
    99+
    2022-10-18
  • Redis内存碎片原理深入分析
    目录前言释放的内存去了哪里?什么是内存碎片?什么导致内存碎片?如何解决?总结前言 我们先来看一个问题, 假设Redis实例保存了5GB的数据,现在删除了2GB的数据,那么Redis...
    99+
    2023-02-01
    Redis内存碎片 Redis 内存
  • java内存管理关系及内存泄露的原理分析
    目录java内存管理关系及内存泄露原理java对象和内存的关系创建对象null的作用内存泄露检测内存泄露的原理java内存管理关系及内存泄露原理 这可能是最近写的博客中最接近底层的了...
    99+
    2022-11-12
  • nw.js中localStorage物理储存的示例分析
    这篇文章将为大家详细讲解有关nw.js中localStorage物理储存的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。储存位置nw.js打包出来的应用的loca...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作