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

ScyllaDb

PreviousS3NextSQLite3

Last updated 1 year ago


를 위한 을 사용하는 ScyllaDb storage engine입니다.

Table of Contents

  • Signatures

  • Installration

  • Examples

  • Config

  • Default Config

Signatures

func New(config ...Config) Storage
func (s *Storage) Get(key string) ([]byte, error)
func (s *Storage) Set(key string, value []byte, expire time.Duration) error
func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error
func (s *Storage) Close() error
func (s *Storage) Conn() *gocql.Session

Installation

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

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

go get github.com/gofiber/storage/scylladb

Examples

storage 패키지를 가져옵니다.

import "github.com/gofiber/storage/scylladb"

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

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

// 사용자 정의 config 초기화  
store := scylladb.New(scylladb.Config{
    Keyspace:       "fiber",
    Hosts:          []string{"127.0.0.1"},
    Port:           9042,
    Table:          "fiber_storage",
    Consistency:    "ONE",
    Reset:          false,
})

// TLS 지원 초기화 (SslOptions로 TLS 사용 구성)
//  
//      InsecureSkipVerify와 EnableHostVerification의 상호작용은 다음과 같습니다:
//
//      |Config.InsecureSkipVerify | EnableHostVerification | 결과             |
//      |--------------------------|------------------------|--------------------|
//      |Config is nil             | false                  | 호스트 검증하지 않음 |
//      |Config is nil             | true                   | 호스트 검증        |
//      |false                     | false                  | 호스트 검증        |
//      |true                      | false                  | 호스트 검증하지 않음 |
//      |false                     | true                   | 호스트 검증        |
//      |true                      | true                   | 호스트 검증        |
store := New(
    Config{
        Keyspace:    "fiber",
        Hosts:       []string{"127.0.0.1"},
        Port:        9042,
        Table:       "fiber_storage",
        Consistency: "ONE",
        SslOpts: &gocql.SslOptions{
            Config: &tls.Config{
                InsecureSkipVerify: false, // 인증서 검증을 활성화하려면 false로 설정
            },
                CertPath:               "/path/to/client_cert.pem", // 클라이언트 인증서 경로
                KeyPath:                "/path/to/client_key.pem",  // 클라이언트 인증서 개인 키 경로
                CaPath:                 "/path/to/ca_cert.pem",     // CA 인증서 경로
                EnableHostVerification: true,                       // 호스트 이름 검증 활성화
        },
        Reset: false,
    },
)

// scylladb 연결을 사용한 사용자 지정 config 초기화
cluster, _ := gocql.NewCluster("127.0.0.1") 
cluster.Keyspace = "fiber"
cluster.Port = 9042

session, _ := cluster.CreateSession()
store := scylladb.New(scylladb.Config{
    Session:         session,
    Keyspace:        "fiber",
    Table:           "fiber_storage", 
    Reset:           false,
})

Config

type Config struct {
    // 기존 ScyllaDb 세션을 사용하기 위해 사용자가 제공하는 Session
    // Session을 사용하면 Keyspace와 다른 모든 인증 값이 무시됩니다. 
    // 
    // 선택 사항. 기본값은 nil
    Session *gocql.Session
    
    // Keyspace 이름
    // 
    // 선택 사항. 기본값은 "fiber"
    Keyspace string
    
    // 초기 연결 설정을 위한 네트워크 주소 배열 
    // 필요에 따라 하나 또는 여러 주소를 유연하게 지정할 수 있습니다.
    // 
    // 선택 사항. 기본값은 "127.0.0.1"  
    Hosts []string
    
    // ScyllaDb 클러스터가 수신 대기하는 포트
    // 
    // 선택 사항. 기본값은 9042
    Port int
    
    // ScyllaDb 클러스터의 사용자 이름 
    // 
    // 선택 사항. 기본값은 ""
    Username string
    
    // ScyllaDb 클러스터의 비밀번호
    // 
    // 선택 사항. 기본값은 ""  
    Password string
    
    // 테이블 이름
    // 
    // 선택 사항. 기본값은 "fiber_storage"
    Table string
    
    // 일관성 수준
    // 
    // 선택 사항. 기본값은 "LOCAL_ONE" 
    Consistency string
    
    // TLS 사용을 구성하는 SslOpts
    // 
    // 선택 사항. 기본값은 nil
    SslOpts *gocql.SslOptions
      
    // 기존 Table의 기존 키를 모두 지우는 Reset
    // 
    // 선택 사항. 기본값은 false  
    Reset bool
}

Default Config

// ConfigDefault는 기본 구성입니다.
var ConfigDefault = Config{
    Session:     nil,
    Keyspace:    "fiber",
    Hosts:       []string{"127.0.0.1"},
    Username:    "",
    Password:    "", 
    Port:        9042,
    Table:       "fiber_storage",
    Consistency: "LOCAL_ONE",
    SslOpts:     nil,
    Reset:       false,
}

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

🧩
📦
Go versions
Fiber
gocql