评论 (2)

hefju 2016-05-02 19:16

在更新数据时,也是把新数据追加到文件的后面,然后更新一下数据的文件指针映射即可. 那么不回收旧数据就浪费很多空间了?

代码ldd 2016-05-02 20:18

@heju 数据的浪费空间取决于用户的使用,Bitcask会记录每个key的操作,比如用户删除了key=a的数据,Bitcask就会把这个删除的动作追加到Bitcask文件中,并不会真正删除数据,这些数据的实际空间在merge发生时,才会被清理掉。