Skip to content

Latest commit

 

History

History
57 lines (46 loc) · 1.93 KB

README.md

File metadata and controls

57 lines (46 loc) · 1.93 KB

gin-session-redis

Build License Go Reference Go Report Card codecov Release

Gin middleware for session management with redis store.

The gin-session-redis project is a fork of gin-contrib/sessions/redis. The purpose of this fork is to replace the redigo with go-redis as the driver of redis store.

Usage

Download and install it:

go get -u github.com/no-src/gin-session-redis

Example

package main

import (
	"github.com/gin-contrib/sessions"
	"github.com/gin-gonic/gin"
	"github.com/no-src/gin-session-redis/redis"
)

func main() {
	r := gin.Default()
	store, _ := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("secret"))
	r.Use(sessions.Sessions("mysession", store))

	r.GET("/incr", func(c *gin.Context) {
		session := sessions.Default(c)
		var count int
		v := session.Get("count")
		if v == nil {
			count = 0
		} else {
			count = v.(int)
			count++
		}
		session.Set("count", count)
		session.Save()
		c.JSON(200, gin.H{"count": count})
	})
	r.Run(":8000")
}