29 lines
562 B
Go
29 lines
562 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"github.com/gin-gonic/contrib/sessions"
|
||
|
"github.com/gin-gonic/gin"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
r := gin.Default()
|
||
|
store, _ := sessions.NewRedisStore(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 += 1
|
||
|
}
|
||
|
session.Set("count", count)
|
||
|
session.Save()
|
||
|
c.JSON(200, gin.H{"count": count})
|
||
|
})
|
||
|
r.Run(":8000")
|
||
|
}
|