文本编辑器里的 "undo" 和 "redo",数据库系统的 MVCC,git 的历史记录,mac 的 Time Machine,等等功能,他们都有一个共同点,就是记录历史。这个功能依赖一种数据结 构:持久化数据结构 (Persistent data structure)。持久化数据结构记录所有历史版本, 你可以读取任…
持久化分为四个级别:半持久化(只能读取历史,写入最新)、全持久化(可读写任意版本)、可合并持久化(可读写并合并版本)、函数式持久化(只读,修改时创建新节点)。这些级别是逐步增强的关系。