...

Source file src/github.com/gin-contrib/sessions/_example/memcached/binary/binary.go

Documentation: github.com/gin-contrib/sessions/_example/memcached/binary

     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