...
1 package main
2
3 import (
4 "github.com/gin-contrib/sessions"
5 "github.com/gin-contrib/sessions/memcached"
6 "github.com/gin-gonic/gin"
7 "github.com/memcachier/mc"
8 )
9
10 func main() {
11 r := gin.Default()
12 client := mc.NewMC("localhost:11211", "username", "password")
13 store := memcached.NewMemcacheStore(client, "", []byte("secret"))
14 r.Use(sessions.Sessions("mysession", store))
15
16 r.GET("/incr", func(c *gin.Context) {
17 session := sessions.Default(c)
18 var count int
19 v := session.Get("count")
20 if v == nil {
21 count = 0
22 } else {
23 count = v.(int)
24 count++
25 }
26 session.Set("count", count)
27 session.Save()
28 c.JSON(200, gin.H{"count": count})
29 })
30 r.Run(":8000")
31 }
32
View as plain text