<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                > 在Gin框架中,我們可以依賴gin-contrib/sessions中間件處理session,該中間件支持cookie、memstore、redis、memcached、mongodb等存儲引擎 [TOC] ## 安裝session包 ~~~ go get github.com/gin-contrib/sessions ~~~ ## 基于cookie存儲的session ~~~ package main import ( "github.com/gin-contrib/sessions" "github.com/gin-contrib/sessions/cookie" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 創建基于cookie的存儲引擎,my_secret_Yx16-12SaA 參數是用于加密的密鑰 store := cookie.NewStore([]byte("my_secret_Yx16-12SaA")) // 設置session中間件,參數mysession,指的是session的名字,也是cookie的名字 // store是前面創建的存儲引擎,我們可以替換成其他存儲引擎 r.Use(sessions.Sessions("mysession", store)) r.GET("/hello", func(c *gin.Context) { // 初始化session對象 session := sessions.Default(c) // 通過session.Get讀取session值 if session.Get("hello") != "world" { // 設置session session.Set("hello", "world") // 刪除session session.Delete("newkey") // 保存session session.Save() // 刪除整個session // session.Clear() } c.JSON(200, gin.H{"hello": session.Get("hello")}) }) r.Run(":8080") } ~~~ ## 基于redis存儲的session **安裝redis存儲引擎包** ~~~ go get github.com/gin-contrib/sessions/redis ~~~ **例子:** ~~~ package main import ( "github.com/gin-contrib/sessions" "github.com/gin-contrib/sessions/redis" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 初始化基于redis的存儲引擎 // 參數說明: // 第1個參數 - redis最大的空閑連接數 // 第2個參數 - 數通信協議tcp或者udp // 第3個參數 - redis地址, 格式,host:port // 第4個參數 - redis密碼 // 第5個參數 - session加密密鑰 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") } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看