如何删除rocksdb或leveldb中超过几天的数据?

Mic*_*ael 5 leveldb rocksdb

我想创建一个工具来删除rocksdb或leveldb中早于几天的所有数据,但我不知道如何启动它。

kri*_*nan 1

RocksDB 有一个特定的数据库,称为Date_tiered DB. 您可以指定要打开数据库的 ttl。它基本上将插入到多个 CF 中的数据进行分片,并在 ttl 过期时将 CF 作为一个整体删除。请注意,当第二次以不同的 ttl 打开 Db 时,数据的过期时间将根据新数据计算。

或者,您可以创建自己的数据custom compaction filter以在压缩时间内删除旧数据。这实际上省去了发出删除的麻烦,并且可以作为后台作业完成。