Hydration 是什么?
1. 前言
看 VueConf 2021 尤大大关于 Vue3 生态进展中关于 vitepress 会减少很多 hydration 的开销,原谅我的孤陋寡闻,实在不知道什么是 hydration,于是只好 google 一下,在此进行记录。
PS: 因为 hydration 我并没有找到官方的文档,因此是否完全正确我也不敢保证,有错误可提出,我也会实时的更新。
2. Hydration
Hydration 代表的是给对象填充数据的这一过程。
Hydration 翻译过来为 “水合”,因此下面就用 “水合” 来代替;
在框架之下,为了拥有更好的性能,一个对象被实例化时并不会立马进行“水合”(填充数据),而这个对象是变现为具有数据的实体对象的,而是当对象中的数据被访问是才会执行“水合”。这是一种有助于避免加载不使用的数据的方法。
此外,当讨论从数据库或者其它数据源加载数据时,一般也会谈到 “水合”。比如:
当从某数据源加载很多数据时,此时仅仅只是装载一部分数据而不是全部到一个对象时,可以说是部分"水合"。之所以这样做,是因为当前操作不需要这些其他字段m所以就没有必要去浪费带宽和CPU去加载、传输以及设置这些不被使用的数据。
其实我们最常见的一种"水合"就是序列化和反序列化,反序列化 == 实例化 + 水合
3. Todo
只是大概知道了基本概念,但实际的过程,其中的原由还不是很清晰,期望之后能够查阅到更多的资料来深入的理解。