Skip to content

A session store backend for gorilla/sessions using Redis.

License

Notifications You must be signed in to change notification settings

no-src/redistore

Folders and files

NameName
Last commit message
Last commit date
Nov 19, 2024
Jun 6, 2023
Mar 18, 2013
Jun 6, 2023
Feb 25, 2025
Feb 25, 2025
Jun 6, 2023
Jun 6, 2023

Repository files navigation

redistore

Build License Go Reference Go Report Card codecov Release

A session store backend for gorilla/sessions - src.

The redistore project is a fork of redistore. The purpose of this fork is to replace the redigo with go-redis as the driver of redis store.

Requirements

Depends on the go-redis Redis library.

Installation

go get -u github.com/no-src/redistore

Documentation

Available on pkg.go.dev.

See https://github.com/gorilla/sessions for full documentation on underlying interface.

Example

// Fetch new store.
store, err := NewRediStore(10, "tcp", ":6379", "", []byte("secret-key"))
if err != nil {
	panic(err)
}
defer store.Close()

// Get a session.
session, err = store.Get(req, "session-key")
if err != nil {
	log.Error(err.Error())
}

// Add a value.
session.Values["foo"] = "bar"

// Save.
if err = sessions.Save(req, rsp); err != nil {
	t.Fatalf("Error saving session: %v", err)
}

// Delete session.
session.Options.MaxAge = -1
if err = sessions.Save(req, rsp); err != nil {
	t.Fatalf("Error saving session: %v", err)
}

// Change session storage configuration for MaxAge = 10 days.
store.SetMaxAge(10 * 24 * 3600)

About

A session store backend for gorilla/sessions using Redis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages