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
}