我想创建一个工具来删除rocksdb或leveldb中早于几天的所有数据,但我不知道如何启动它。
RocksDB 有一个特定的数据库,称为Date_tiered DB. 您可以指定要打开数据库的 ttl。它基本上将插入到多个 CF 中的数据进行分片,并在 ttl 过期时将 CF 作为一个整体删除。请注意,当第二次以不同的 ttl 打开 Db 时,数据的过期时间将根据新数据计算。
或者,您可以创建自己的数据custom compaction filter以在压缩时间内删除旧数据。这实际上省去了发出删除的麻烦,并且可以作为后台作业完成。