使用TTL

NusDB支持TTL(存活时间)的功能,可以对指定的bucket里的key过期时间的设置。使用tx.Put这个方法的使用ttl参数就可以了。
如果设置 ttl = 0 或者 Persistent, 这个key就会永久存在。下面例子中ttl设置成 60 , 60s之后key就会过期,在查询的时候将不会被搜到。

  1. if err := db.Update(
  2. func(tx *nutsdb.Tx) error {
  3. key := []byte("name1")
  4. val := []byte("val1")
  5. bucket: = "bucket1"
  6. // 如果设置 ttl = 0 or Persistent, 这个key就会永久不删除
  7. // 这边 ttl = 60 , 60s之后就会过期。
  8. if err := tx.Put(bucket, key, val, 60); err != nil {
  9. return err
  10. }
  11. return nil
  12. }); err != nil {
  13. log.Fatal(err)
  14. }