Badger


dgraph-io/badger를 사용하는 빠른 key-value DB입니다.

참고: Go 1.19 이상이 필요합니다.

Table of Contents

  • Signatures

  • Installation

  • Examples

  • Config

  • Default Config

Signatures

func New(config ...Config) Storage 
func (s *Storage) Get(key string) ([]byte, error)
func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error
func (s *Storage) Close() error
func (s Storage) Conn() badger.DB

Installation

Badger는 모듈을 지원하는 최근 2개 Go 버전에서 테스트되었습니다. 아직 초기화하지 않았다면 먼저 초기화해야 합니다:

go mod init github.com/<user>/<repo>

그리고 badger 구현체를 설치합니다:

go get github.com/gofiber/storage/badger/v2

Examples

storage 패키지를 import 합니다.

import "github.com/gofiber/storage/badger/v2"

다음과 같은 방법으로 storage를 생성할 수 있습니다:

// 기본 설정으로 초기화
store := badger.New()

// 사용자 지정 설정으로 초기화  
store := badger.New(badger.Config{
  Database: "./fiber.badger",
  Reset: false,
  GCInterval: 10 * time.Second,
})

Config

type Config struct {
  // Database 이름
  // 
  // 옵션. 기본값은 "./fiber.badger"
  Database string

  // Reset은 기존 Table의 모든 키를 삭제합니다
  //
  // 옵션. 기본값은 false
  Reset bool

  // 만료된 키를 삭제하기 전 시간 
  //
  // 옵션. 기본값은 10 * time.Second
  GCInterval time.Duration

  // BadgerOptions은 badger에 옵션을 설정하는 방법입니다
  //
  // 옵션. 기본값은 badger.DefaultOptions("./fiber.badger")
  BadgerOptions badger.Options

  // Logger는 badger에서 사용하는 기본 로거입니다
  // 
  // 옵션. 기본값은 nil
  Logger badger.Logger

  // UseLogger는 로거 사용 여부를 정의합니다
  //
  // 옵션. 기본값은 false  
  UseLogger bool
}

Default Config

var ConfigDefault = Config{
  Database: "./fiber.badger",
  Reset: false,  
  GCInterval: 10 * time.Second,
  BadgerOptions: badger.DefaultOptions("./fiber.badger").WithLogger(nil),
  Logger: nil,
  UseLogger: false,
}

Last updated