Go Fiber 한글 공식 문서
  • 🙇‍♀️안녕하세요
  • 🏠Home
    • 👋Welcome
    • 📁API
      • 📦Fiber
      • 🚀App
      • 🧠Ctx
      • 📋Constants
      • 🌎Client
      • 📃Log
      • 🧬Middleware
        • Adaptor
        • BasicAuth
        • Cache
        • Compress
        • CORS
        • CSRF
        • EarlyData
        • Encrypt Cookie
        • EnvVar
        • ETag
        • ExpVar
        • Favicon
        • FileSystem
        • Health Check
        • Helmet
        • Idempotency
        • Keyauth
        • Limiter
        • Logger
        • Monitor
        • Pprof
        • Proxy
        • Recover
        • Redirect
        • RequestID
        • Rewrite
        • Session
        • Skip
        • Timeout
    • 📁Guide
      • 🔌Routing
      • 🎭Grouping
      • 📝Templates
      • 🐛Error Handling
      • 🔎Validation
      • 🎣Hooks
      • ⚡Make Fiber Faster
    • 📁Extra
      • 🤔FAQ
      • 📊Benchmarks
  • 🧩Extra
    • 🧬Contrip
      • 👋Welcome
      • Casbin
      • Fgprof
      • Fiberi18n
      • Fibernewrelic
      • Fibersentry
      • Fiberzap
      • Fiberzerolog
      • JWT
      • LoadShed
      • Opafiber
      • Otelfiber
        • Example
      • Paseto
      • README
      • Swagger
      • Websocket
    • 📦Storage
      • 👋Welcome
      • ArangoDB
      • Azure Blob
      • Badger
      • Bbolt
      • Coherence
      • Couchbase
      • DynamoDB
      • Etcd
      • Memcache
      • Memory
      • Minio
      • MongoDB
      • MSSQL
      • MySQL
      • Nats
      • Pebble
      • Postgres
      • Redis
      • Ristretto
      • Rueidis
      • S3
      • ScyllaDb
      • SQLite3
    • 📃Template
      • 👋Welcome
      • Ace
      • Amber
      • Django
      • Handlebars
      • HTML
        • Golang Templates Cheatsheet
      • Jet
      • Mustache
      • Pug
      • Slim
Powered by GitBook
On this page
  • Table of Contents
  • Signatures
  • Installation
  • Examples
  • Config
  • Default Config
  1. Extra
  2. Storage

Badger

PreviousAzure BlobNextBbolt

Last updated 1 year ago


를 사용하는 빠른 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

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,
}

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

🧩
📦
Go 버전
dgraph-io/badger