Abo

localStorage的读取性能

localstorage中已经存了一份token,为什么还要往vuex中再存一次 ???

本文的问题其实一句话就可以解答(汗),看在2020更新数量少的情况下,凑一篇

        

前言

刚开始用vuex维护localStorage的数据都是业务组件保存一次到localStorage,然后vuex里面相应的数据也更新一下,这就是两次操作,而直接操作localStorage只有一行。虽然现在学会了保存localStorage的数据直接调用mutation的方法更新state里面的数据,顺便调用localStorage的API把localStorage的数据也更新了,代码也从两行变成了一行。

localStorage跟vuex一样是全局的,要用到localStorage里的变量的时候直接调用localStorage的API取出来,要保存到localStorage的时候也是调用API直接保存不就好了,为什么这么麻烦,还一定要保存到Vuex里。

真相

  1. vuex是状态管理,全局的变量都应该放置到这里,方便查找维护,比较规范。
  2. localStorage的API用起来不太友好,基本都需要用到JSON.parse和JSON.stringify对其进行转化。后面才发现,原来localStorage的数据要用vuex维护主要原因是localStorage的读取性能极差,远远低于vuex的读取性能。因为所有的localStorage数据都存储在磁盘文件上,所以localStorage的读取相当于一次磁盘读取、文件读取。而vuex的读取时内存读取,自然localStorage的读取会慢于vuex的读取