又造了一個輪子—session庫!使用簡單!支援多儲存!
https://github.com/go-session/session
又造了一個 session 的輪子,基於簡單使用,易擴充套件的目的!提供了多儲存的支援,記憶體儲存、檔案儲存、redis 儲存、cookie 儲存,後續會增加 mysql、mongodb 的支援。以及多種中介軟體的支援,有 gin、echo、beego、gear。歡迎來踩!!!
下面給出一個使用示例:
package main
import (
"context"
"fmt"
"net/http"
"github.com/go-session/session"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
store, err := session.Start(context.Background(), w, r)
if err != nil {
fmt.Fprint(w, err)
return
}
store.Set("foo", "bar")
err = store.Save()
if err != nil {
fmt.Fprint(w, err)
return
}
http.Redirect(w, r, "/foo", 302)
})
http.HandleFunc("/foo", func(w http.ResponseWriter, r *http.Request) {
store, err := session.Start(context.Background(), w, r)
if err != nil {
fmt.Fprint(w, err)
return
}
foo, ok := store.Get("foo")
if ok {
fmt.Fprintf(w, "foo:%s", foo)
return
}
fmt.Fprint(w, "does not exist")
})
http.ListenAndServe(":8080", nil)
}
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 動手造輪子:實現一個簡單的 AOP 框架框架
- Angular 如何為多個專案使用單一儲存倉庫Angular
- 也造了一個 dump 的小輪子
- 造了個滾輪控制元件輪子控制元件
- 又雙叒叕造新輪子:重構了自己寫的mvvm庫MVVM
- 造一個「輪子」musionUIUI
- 好久不見,我造了一個輪子:微開發
- 造輪子:實現一個簡易的 Spring IoC 容器Spring
- 一個簡單多庫配置
- 造輪子-strace(一)
- 手工電子面單-批量儲存同一個收貨地址的多個包裹資訊
- 給 Java 造個輪子 - ChainJavaAI
- 用 Go 語言造了一個全新的 kv 儲存引擎Go儲存引擎
- Fomir: 又一個表單輪子
- 我造了個好大的"輪子",居然還不是"圓"的!
- 一個超高自定義度又簡單使用的頁面狀態管理庫
- 「造個輪子」——cicada 原始碼分析原始碼
- 造輪子 -- RxRouter
- 造輪子-ThreadPoolExecutorthread
- 我為什麼還要造一個前端輪子?前端
- 推薦一個excel 輪子-極簡用法Excel
- 造輪子 | 如何設計一個面向協議的 iOS 網路請求庫協議iOS
- ?揭祕vue/react元件庫中?5個"作者不造的輪子"VueReact元件
- 為什麼Java有了synchronized之後還造了Lock鎖這個輪子?Javasynchronized
- 造輪子之EventBus
- 卡莉Linux儲存庫支援HTTPSLinuxHTTP
- 我厭倦了 Redux,那就造個輪子 Rectx:第三集Redux
- 造輪子之單層應用總結篇
- 「造個輪子」——cicada(輕量級 WEB 框架)Web框架
- 手寫一個前端儲存工具庫前端
- 中國量子技術創造多個世界第一,又創造世界首個
- dva的effect那麼難用,自己造一個輪子吧
- 重複造輪子了, 自己開發的 Laravel RepositoryLaravel
- 又雙叒叕一個Ant Design的Vue輪子(vue-antd-ui)VueUI
- 造輪子之整合GraphQL
- 造輪子之ORM整合ORM
- 又一個輪子--QMapperAPP
- 答應我,用了這個jupyter外掛,別再重複造輪子了