mirror of
				https://github.com/gofiber/storage.git
				synced 2025-10-31 11:46:32 +08:00 
			
		
		
		
	![dependabot[bot]](/assets/img/avatar_default.png) d87c26eb2a
			
		
	
	d87c26eb2a
	
	
	
		
			
			Bumps the go_modules group in /etcd with 1 update: [golang.org/x/net](https://github.com/golang/net). Updates `golang.org/x/net` from 0.17.0 to 0.23.0 - [Commits](https://github.com/golang/net/compare/v0.17.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect dependency-group: go_modules ... Signed-off-by: dependabot[bot] <support@github.com>
id, title
| id | title | 
|---|---|
| etcd | Etcd | 
A Etcd storage driver using etcd-io/etcd.
Note: Requires Go 1.19 and above
Table of Contents
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() *clientv3.Client
Installation
Etcd is tested on the 2 last Go versions with support for modules. So make sure to initialize one first if you didn't do that yet:
go mod init github.com/<user>/<repo>
And then install the etcd implementation:
go get github.com/gofiber/storage/etcd/v2
Examples
Import the storage package.
import "github.com/gofiber/storage/etcd/v2"
You can use the following possibilities to create a storage:
// Initialize default config
store := etcd.New()
// Initialize custom config
store := etcd.New(Config{
    Endpoints: []string{"localhost:2379"},
})
Config
type Config struct {
    // Endpoints is a list of URLs.
    Endpoints   []string
    // DialTimeout is the timeout for failing to establish a connection.
    DialTimeout time.Duration
    // Username is a username for authentication.
    Username    string
    // Password is a password for authentication.
    Password    string
	// TLS holds the client secure credentials, if any.
	TLS *tls.Config
}
Default Config
var ConfigDefault = Config{
    Endpoints:   []string{"localhost:2379"},
    DialTimeout: 2 * time.Second,
    Username:    "",
    Password:    "",
    TLS:         nil,
}