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.
Download and install it:
go get -u github.com/no-src/gin-session-redis
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")
}