package main import ( "github.com/dgraph-io/badger/v4" "log" ) // DB 使用本地数据库操作对象 func DB() *badger.DB { opts := badger.DefaultOptions("./data") opts.ValueLogFileSize = 1 << 24 opts.ValueLogMaxEntries = 10 db, err := badger.Open(opts) if err != nil { log.Fatal(err) } return db } // 数据库操作对象 type bdb struct { db *badger.DB } // Set 保存 func (db *bdb) Set(k, v string) { err := db.db.Update(func(txn *badger.Txn) error { err := txn.Set([]byte(k), []byte(v)) return err }) if err != nil { log.Println("保存出错:", err) } } // Del 删除 func (db *bdb) Del(k string) { err := db.db.Update(func(txn *badger.Txn) error { return txn.Delete([]byte(k)) }) if err != nil { log.Println("删除error", err) } } // Get 获取 func (db *bdb) Get(k string) string { v := "" err := db.db.View(func(txn *badger.Txn) error { item, err := txn.Get([]byte(k)) if err != nil { return err } err = item.Value(func(val []byte) error { v = string(val) return nil }) if err != nil { return err } return nil }) if err != nil { log.Println("获取出错", err) } return v }