TTL time to live,为某个Key及对应的Value或Collection类的剩余可用时间,以秒为单位

Collection类

只可以对某个Collection类设置TTL,TTL过期后,整个Collection的数据都将不可用

K-V

当TTL过期后,数据并不会被马上删除。getWithoutTTL (key) 这个方法不会严格的校验TTL,在数据被垃圾回收器清理前,过期的KV仍然可以被这个方法查出。

通常情况下,默认的垃圾回收器将在1S内清除过期数据,如果未设置TTL或对TTL不敏感,使用此方法会大幅的性能提升

垃圾的产生和回收

TTL的过期数据并不会被马上删除,而是处于不可用状态,等待垃圾回收。创建KitDB实例时,可以选择不使用自动回收。调用以下方法可以手动回收垃圾

  1. db.clear(); // 清理集合类的垃圾
  2. db.clearKV(); // 清理KV类的垃圾