LocalStorage详解

在 HTML4 时代,如果需要在本地浏览器中保存一些临时数据,只能将数据保存在 Cookie 中,但 Cookie 并不是用来存储数据的,Cookie 有他大小限制,只能存储4K左右数据。而且 Cookie 数据会附加在请求头中,较多的 Cookie 会影响请求速度。

关于更多 Cookie 的介绍请看 Cookie详解

LocalStorage 的本质

以 SQLite 数据库来存储 LocalStorage 中的 K/V 数据(最终存储在本机硬盘上,针对存储地址请看 LocalStorage的存储位置)。

SQLite 是一款十分轻巧的关系型数据库,它能跨平台,另外占用系统资源也非常低。

关于更多 SQLite 的介绍请看 SQLite详解。

LocalStorage 的容量限制

在不同浏览器中的存储上限不同,一般来说,大约是2-10MB,这取决于浏览器的实现。

超过 2-10MB 的请求将会被拒绝,会有如下报错:

------------- ------ -- ------- - -- -- ------- --- ----- -- - -------- --- ------

各种浏览器容量

Chrome:5MB

Safari:2.5MB

Opera:5MB

Firefox:5MB

Edge:5MB

QQBrowser:5MB

微信内置浏览器:5MB

LocalStorage 的生命周期

除非手动清除,否则数据不会过期。即使浏览器关掉后,也可以在下一次使用时访问数据。

LocalStorage 的兼容性

不是所有的浏览器都兼容。可用插件(AmplifyJS、Store.js、jStorage)来完成兼容性。

LocalStorage 的使用方法

设置

------ ---

获取

------- - -

删除

-------

清空

------

检查是否可用

------ - -- -
	- -
- - -
	- -
-

检查使用量(单位:KB)

- --- -
	- ---- - --
	------------ - -
		---- - ------------
		---- - -------
	--
	- ---- - --
-

数组对象的存储、读取

- -
------ ------- -- -----
- -
------ ------- -----

- -
------------
------------
暴雨当头泻,只当屋檐水。