github.com/nutsdb/nutsdb@v1.0.4/examples/batch/read/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  
     7  	"github.com/nutsdb/nutsdb"
     8  	"github.com/xujiajun/utils/strconv2"
     9  	"github.com/xujiajun/utils/time2"
    10  )
    11  
    12  var (
    13  	db     *nutsdb.DB
    14  	bucket string
    15  )
    16  
    17  func init() {
    18  	time2.Start()
    19  	db, _ = nutsdb.Open(
    20  		nutsdb.DefaultOptions,
    21  		nutsdb.WithDir("/tmp/nutsdbexample/example_batch"),
    22  		// nutsdb.WithRWMode(nutsdb.MMap),
    23  		// nutsdb.WithSyncEnable(false),
    24  	)
    25  	bucket = "bucket1"
    26  	fmt.Println("load cost:", time2.End())
    27  }
    28  
    29  func main() {
    30  	time2.Start()
    31  
    32  	if err := db.View(
    33  		func(tx *nutsdb.Tx) error {
    34  			for i := 0; i < 10000; i++ {
    35  				key := []byte("namename" + strconv2.IntToStr(i))
    36  				if _, err := tx.Get(bucket, key); err != nil {
    37  					log.Println("key", string(key))
    38  					return err
    39  				}
    40  			}
    41  			return nil
    42  		}); err != nil {
    43  		log.Fatal(err)
    44  	}
    45  
    46  	fmt.Println("read cost", time2.End())
    47  }