From 72c5675b1d9cff2d47854b818e1e915933011592 Mon Sep 17 00:00:00 2001 From: cc Date: Sun, 21 Jul 2024 17:25:54 +0000 Subject: [PATCH] =?UTF-8?q?boltdb=E5=A2=9E=E5=8A=A0=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/boltdb/boltdb.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/db/boltdb/boltdb.go b/db/boltdb/boltdb.go index 4f547f7..8d65b56 100644 --- a/db/boltdb/boltdb.go +++ b/db/boltdb/boltdb.go @@ -376,3 +376,27 @@ func (cc *boltDB) BatchSet(bucketName string, value map[string][]byte) (rer erro }) return } + +// 批处理删除 +func (cc *boltDB) BatchDelete(bucketName string, keys []string) (rer error) { + rer = ErrBucketInvalid + if bucketName == "" { + return + } + rer = cc.db.Batch(func(tx *bolt.Tx) error { + b := tx.Bucket([]byte(bucketName)) + if b == nil { + return ErrBucketNotFound + } + for _, k := range keys { + if k == "" { + return ErrKeyInvalid + } + if err := b.Delete([]byte(k)); err != nil { + return err + } + } + return nil + }) + return +}