boltdb增加批量删除

main v0.0.6
cc 2024-07-21 17:25:54 +00:00
parent dac842f236
commit 72c5675b1d
1 changed files with 24 additions and 0 deletions

View File

@ -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
}