Bbolt


etcd-io/bbolt를 사용하는 Bbolt 스토리지 드라이버입니다. Bolt는 Howard Chu의 LMDB 프로젝트에서 영감을 받은 순수 Go 키/값 저장소입니다. 이 프로젝트의 목표는 Postgres나 MySQL과 같은 완전한 데이터베이스 서버가 필요하지 않은 프로젝트를 위해 간단하고 빠르며 신뢰할 수 있는 데이터베이스를 제공하는 것입니다.

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() *bbolt.DB

Installation

Bbolt는 모듈 지원이 포함된 Go 최신 2개 버전에서 테스트되었습니다. 아직 초기화하지 않은 경우 먼저 다음을 실행해야 합니다:

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

그런 다음 s3 구현을 설치합니다:

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

Examples

스토리지 패키지를 가져옵니다.

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

다음과 같은 방법으로 스토리지를 생성할 수 있습니다:

// 기본 설정 초기화
store := bbolt.New()

// 사용자 정의 설정 초기화  
store := bbolt.New(bbolt.Config{
  Database: "my_database.db",
  Bucket: "my-bucket", 
  Reset: false,
})

Config

// Config는 스토리지에 대한 설정을 정의합니다.
type Config struct {
  // 데이터베이스 경로
  // 
  // 선택 사항. 기본값은 "fiber.db"입니다.
  Database string

  // Bbolt 버킷 이름  
  //
  // 선택 사항. 기본값은 "fiber_storage"입니다.
  Bucket string
  
  // Timeout은 파일 잠금을 획득하기 위해 대기하는 시간입니다.
  // Darwin과 Linux에서만 사용 가능합니다.
  // 
  // 선택 사항. 기본값은 60 * time.Second입니다.
  Timeout time.Duration

  // 데이터베이스를 읽기 전용 모드로 엽니다.
  //
  // 선택 사항. 기본값은 false입니다.
  ReadOnly bool

  // Reset은 기존 버킷의 기존 키를 모두 지웁니다.
  // 
  // 선택 사항. 기본값은 false입니다.  
  Reset bool
}

Default Config

// ConfigDefault는 기본 설정입니다.
var ConfigDefault = Config{
  Database: "fiber.db",
  Bucket: "fiber_storage",
  Timeout: 60 * time.Second, 
  ReadOnly: false,
  Reset: false,
}

Last updated