MySQL


database/sqlgo-sql-driver/mysql을 사용하는 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() *sql.DB

Installation

MySQL은 모듈을 지원하는 Go versions의 마지막 2개 버전에서 테스트되었습니다. 아직 초기화하지 않았다면 먼저 초기화를 해야 합니다:

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

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

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

Examples

storage 패키지를 import합니다.

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

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

// 기본 config로 초기화
store := mysql.New()

// 사용자 정의 config로 초기화
store := mysql.New(mysql.Config{
  Host:       "127.0.0.1",
  Port:       3306,
  Database:   "fiber",
  Table:      "fiber_storage",
  Reset:      false,
  GCInterval: 10 * time.Second,
})

// 연결 문자열을 사용하여 사용자 정의 config로 초기화
store := mysql.New(mysql.Config{
  ConnectionURI: "<username>:<pw>@tcp(<HOST>:<port>)/<dbname>"
  Reset:         false,
  GCInterval:    10 * time.Second,
})

// sql db 연결을 사용하여 사용자 정의 config로 초기화
db, _ := sql.Open("mysql", "<username>:<pw>@tcp(<HOST>:<port>)/<dbname>")
store := mysql.New(mysql.Config{
  Db:         db,
  Reset:      false,
  GCInterval: 10 * time.Second,
})

Config

type Config struct {
  // DB 사용 시 ConnectionURI 및 다른 모든 인증 값을 무시합니다
  //
  // 선택 사항. 기본값은 nil
  Db *sql.DB

  // DB에 사용할 연결 문자열. 사용 시 다른 모든 인증 값을 무시합니다
  //
  // 선택 사항. 기본값은 ""
  ConnectionURI string

  // DB가 호스팅되는 호스트 이름
  //
  // 선택 사항. 기본값은 "127.0.0.1"
  Host string

  // DB가 수신 대기 중인 포트
  //
  // 선택 사항. 기본값은 3306
  Port int

  // 서버 사용자 이름
  //
  // 선택 사항. 기본값은 ""
  Username string

  // 서버 비밀번호
  //
  // 선택 사항. 기본값은 ""
  Password string

  // 데이터베이스 이름
  //
  // 선택 사항. 기본값은 "fiber"
  Database string

  // 테이블 이름
  //
  // 선택 사항. 기본값은 "fiber_storage"
  Table string

  // Reset은 기존 테이블에서 기존 키를 모두 지웁니다
  //
  // 선택 사항. 기본값은 false
  Reset bool

  // 만료된 키를 삭제하기 전 시간
  //
  // 선택 사항. 기본값은 10 * time.Second
  GCInterval time.Duration
}

Default Config

var ConfigDefault = Config{
  ConnectionURI: "",
  Host:          "127.0.0.1",
  Port:          3306,
  Database:      "fiber",
  Table:         "fiber_storage",
  Reset:         false,
  GCInterval:    10 * time.Second,
}

Last updated