badger

package
v0.1.17 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrClosed = errors.New("datastore closed")

Functions

This section is empty.

Types

type Datastore

type Datastore struct {
	DB *badger.DB
	// contains filtered or unexported fields
}

func NewDatastore

func NewDatastore(path string, options *Options) (*Datastore, error)

NewDatastore creates a new badger datastore.

DO NOT set the Dir and/or ValuePath fields of opt, they will be set for you.

func (*Datastore) Batch

func (d *Datastore) Batch(_ context.Context) (ds.Batch, error)

Batch creats a new Batch object. This provides a way to do many writes, when there may be too many to fit into a single transaction.

func (*Datastore) Close

func (d *Datastore) Close() error

func (*Datastore) CollectGarbage

func (d *Datastore) CollectGarbage(_ context.Context) (err error)

func (*Datastore) Delete

func (d *Datastore) Delete(_ context.Context, key ds.Key) error

func (*Datastore) DiskUsage

func (d *Datastore) DiskUsage() (uint64, error)

DiskUsage implements the PersistentDatastore interface. It returns the sum of lsm and value log files sizes in bytes.

func (*Datastore) Get

func (d *Datastore) Get(_ context.Context, key ds.Key) (value []byte, err error)

func (*Datastore) GetExpiration

func (d *Datastore) GetExpiration(_ context.Context, key ds.Key) (time.Time, error)

func (*Datastore) GetSize

func (d *Datastore) GetSize(_ context.Context, key ds.Key) (size int, err error)

func (*Datastore) Has

func (d *Datastore) Has(_ context.Context, key ds.Key) (bool, error)

func (*Datastore) NewTransaction

func (d *Datastore) NewTransaction(_ context.Context, readOnly bool) (ds.Txn, error)

NewTransaction starts a new transaction. The resulting transaction object can be mutated without incurring changes to the underlying Datastore until the transaction is Committed.

func (*Datastore) NewTransactionExtended

func (d *Datastore) NewTransactionExtended(ctx context.Context, readOnly bool) (dsextensions.TxnExt, error)

NewTransactionExtended starts a new transaction with dsextensions capabilities. The resulting transaction object can be mutated without incurring changes to the underlying Datastore until the transaction is Committed.

func (*Datastore) Put

func (d *Datastore) Put(_ context.Context, key ds.Key, value []byte) error

func (*Datastore) PutWithTTL

func (d *Datastore) PutWithTTL(_ context.Context, key ds.Key, value []byte, ttl time.Duration) error

PutWithTTL stores the given value with the given TTL, transforming the key first.

func (*Datastore) Query

func (d *Datastore) Query(_ context.Context, q dsq.Query) (dsq.Results, error)

func (*Datastore) QueryExtended

func (d *Datastore) QueryExtended(ctx context.Context, q dsextensions.QueryExt) (dsq.Results, error)

func (*Datastore) SetTTL

func (d *Datastore) SetTTL(_ context.Context, key ds.Key, ttl time.Duration) error

func (*Datastore) Sync

func (d *Datastore) Sync(_ context.Context, prefix ds.Key) error

type Options

type Options struct {
	// Please refer to the Badger docs to see what this is for
	GcDiscardRatio float64

	// Interval between GC cycles
	//
	// If zero, the datastore will perform no automatic garbage collection.
	GcInterval time.Duration

	// Sleep time between rounds of a single GC cycle.
	//
	// If zero, the datastore will only perform one round of GC per
	// GcInterval.
	GcSleep time.Duration

	badger.Options
}

Options are the badger datastore options, reexported here for convenience.

var DefaultOptions Options

DefaultOptions are the default options for the badger datastore.

Jump to

Keyboard shortcuts

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