badger

package module
v0.0.0-...-47fa911 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Example
package main

import (
	"context"
	"fmt"
	"time"

	badgerv4 "github.com/dgraph-io/badger/v4"
	"github.com/xdb-dev/xdb"
	"github.com/xdb-dev/xdb/stores/badger"
)

func main() {
	ctx := context.Background()
	key := xdb.NewKey("User", "1")

	user := xdb.NewRecord(key,
		xdb.NewTuple(key, "name", "Alice"),
		xdb.NewTuple(key, "age", 30),
		xdb.NewTuple(key, "birthday",
			time.Date(1990, time.January, 1, 0, 0, 0, 0, time.UTC),
		),
	)

	db, err := badgerv4.Open(
		badgerv4.DefaultOptions("").WithInMemory(true),
	)
	if err != nil {
		panic(err)
	}

	store := badger.NewBadgerStore(db)

	// save the user
	if err := store.PutRecord(ctx, user); err != nil {
		panic(err)
	}

	// retrieve the user
	got, err := store.GetRecord(ctx, key)
	if err != nil {
		panic(err)
	}

	for _, t := range got.Tuples() {
		fmt.Printf("%s: %v\n", t.Name(), t.Value())
	}

	// delete the user
	if err := store.DeleteRecord(ctx, key); err != nil {
		panic(err)
	}
}

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BadgerStore

type BadgerStore struct {
	// contains filtered or unexported fields
}

func NewBadgerStore

func NewBadgerStore(db *badger.DB) *BadgerStore

func (*BadgerStore) DeleteRecord

func (s *BadgerStore) DeleteRecord(ctx context.Context, key *xdb.Key) error

func (*BadgerStore) GetRecord

func (s *BadgerStore) GetRecord(ctx context.Context, key *xdb.Key) (*xdb.Record, error)

func (*BadgerStore) PutRecord

func (s *BadgerStore) PutRecord(ctx context.Context, record *xdb.Record) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL