介绍
浏览器提供的各类前端存储方案,感觉很多也用不太上...
# cookie
有在请求头上带着数据,大小是4k之内,和session搭配用,现在还是主要用jwt,cookie就算了吧
# localstorage
以键值对(Key-Value)的方式存储,每个域名5M,永久存储,永不失效,除非手动删除。vuex里面都有这个的方案,不过我不太清楚具体是怎么回事
# sessionstorage
HTML5 的本地存储 API 中的 localStorage 与 sessionStorage 在使用方法上是相同的,区别在于 sessionStorage 在关闭页面后即被清空,而 localStorage 则会一直保存。
# application cache
这个不太算是变量存储,倒有点像浏览器缓存(或许本来就是?)通过配置Manifest.json
# websql
很明显,就是一个在前端的数据库,在官方的方案之前出现的非官方方案,没见人用过..就是用SQL去增删改查 核心方法: ①openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
②transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
③executeSql:这个方法用于执行实际的 SQL 查询。
# IndexedDB
官方的前端数据库,在IndexedDB大部分操作并不是常用的调用方法,返回结果的模式,而是请求——响应的模式, indexedDB中没有表的概念,而是objectStore,一个数据库中可以包含多个objectStore,objectStore是一个灵活的数据结构,可以存放多种类型数据。也就是说一个objectStore相当于一张表,里面存储的每条数据和一个键相关联。
我们可以使用每条记录中的某个指定字段作为键值(keyPath),也可以使用自动生成的递增数字作为键值(keyGenerator),也可以不指定。选择键的类型不同,objectStore可以存储的数据结构也有差异。
只在远程加载深度学习模型那里见到过..