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
}