浏览器端 js 编程需存储大量数据,有什么好的方法

JavaScript07

浏览器端 js 编程需存储大量数据,有什么好的方法,第1张

多大的数据算“大量”?主流的存储方式有这么几种:

1、Cookies。这个不说了,容量小,还有性能问题。

2、localStorage、sessionStorage,IE8+才支持,容量一般在5MB左右。

3、WebSQL,IE不支持。好处是结构跟关系型数据库一样,而且没有容量限制;缺点是慢。

4、IndexDB,IE10+才支持,已被废弃的一种特性(废弃的意思是你可以继续使用,但是浏览器厂商已经不再维护这个特性了,即使有BUG也没人管了)。

业界普遍做法一般是 localStorage 配合 IndexDB 使用,很少说有需要在浏览器端存储超过5MB以上的数据的。

1 .如果想让某些数据页面刷新之后不消失,那就可以结合本地存储做到数据持久化

2 .比如之前的搜索记录,还有一些需要依赖的数据。比如本次活动的代号存下来,让我在一段时间内,根据这个编号来确定相关代号代表的一批数据可以缓存在本地,一遍在下一次请求的时候快速返回

3 .实现原理:在mutations定义的方法里对vuex的状态操作的同时对存储也做相应的操作

4 .插件vue-savedata,vuex-persistedstate

5 .实际实现:监听浏览器的刷新,刷新之前把vuex存在本地,在路由拦截处获取本地储存,放进vuex并删除本地存储,可以自由控制存localstorage和sessionStorage,完全避免插件来消耗性能。

6 .不同页面之间的数据传值,vuex适合组件间传值。

7 .有的问题研究一分钟和一个小时,是会发现不同的问题。

1 .vuex存储在内存。localstorage则以文件的方式存储在本地

2 .应用场景:vuex用于组件之间的传值,localstorage则用于不同页面之间的传值

3 .永久性:当刷新页面时vuex存储的值会丢失。localStorage不会删除

4 .localstorage:只能进行简单的数据读写,对不同组件之间读取数据并做数据转化时,需要对每个读写操作都写一遍代码,重点是存放

5 .vuex是状态管理,重点是管理数据,一个是数据容器,一个是数据管理器。

下列选项(默认保存store中的每个数据到本地 )

可以为您的特定需求配置插件: (参数都是可选的:有默认值)

1.store/index.js