Categorygithub.com/adrian83/go-redis-session
modulepackage
0.0.0-20201017153936-bc9421b11e41
Repository: https://github.com/adrian83/go-redis-session.git
Documentation: pkg.go.dev

# README

go-redis-session

Implementation of user session written in Go. Session data is stored inside the Redis database.

USAGE

  1. Import dependency
import "github.com/go-redis/redis"

$ go get github.com/go-redis/redis

  1. Create Redis client
options := &redis.Options{
	Addr:     "redishost:6379",
	Password: "secret",
	DB:       0,
}

client := redis.NewClient(options)
  1. Create Session Store
store := NewStore(client, 3600)
  1. Supported operations
session, err := store.Create(sessionID)

err = store.Delete(sessionID)

err = store.Save(session)

session, err := store.Find(sessionID)

err = session.Add(key, value)

session.Remove(key string)

var name string
err = session.Get(key, &name)

TESTING

  1. Running unit tests: go test ./...
  2. Running integration tests: go test ./... --tags=integration (make sure docker daemon is running)

# Functions

NewStore creates new Store struct.

# Variables

ErrSessionNotFound error returned when requested session cannot be found.
ErrValueNotFound error returned when requested value cannot be found.

# Structs

Session represents user session.
Store is a struct that can be used to create, store and search for sessions.