又造了一個輪子—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 框架框架
- 造了個滾輪控制元件輪子控制元件
- 造一個「輪子」musionUIUI
- 又雙叒叕造新輪子:重構了自己寫的mvvm庫MVVM
- Angular 如何為多個專案使用單一儲存倉庫Angular
- 好久不見,我造了一個輪子:微開發
- 簡單的造數儲存過程儲存過程
- 造輪子:實現一個簡易的 Spring IoC 容器Spring
- 一個簡單多庫配置
- 給 Java 造個輪子 - ChainJavaAI
- SQL儲存過程【筆記】一個較簡單的庫存月結SQL儲存過程筆記
- 手工電子面單-批量儲存同一個收貨地址的多個包裹資訊
- 用 Go 語言造了一個全新的 kv 儲存引擎Go儲存引擎
- 使用資料庫儲存session的方法 (轉)資料庫Session
- 學習一個簡單的儲存過程儲存過程
- 我為什麼還要造一個前端輪子?前端
- 一個超高自定義度又簡單使用的頁面狀態管理庫
- 「造個輪子」——cicada 原始碼分析原始碼
- 推薦一個excel 輪子-極簡用法Excel
- 造輪子-ThreadPoolExecutorthread
- 為什麼Java有了synchronized之後還造了Lock鎖這個輪子?Javasynchronized
- 造輪子 | 如何設計一個面向協議的 iOS 網路請求庫協議iOS
- 中國量子技術創造多個世界第一,又創造世界首個
- EasyDataKit 簡單易用的 SQLite 輪子SQLite
- 我厭倦了 Redux,那就造個輪子 Rectx:第三集Redux
- ?揭祕vue/react元件庫中?5個"作者不造的輪子"VueReact元件
- 造輪子之單層應用總結篇
- 雲資料庫MongoDB全面支援3.4版本,支援多儲存引擎資料庫MongoDB儲存引擎
- Mongodb多儲存引擎支援機制MongoDB儲存引擎
- 「造個輪子」——cicada(輕量級 WEB 框架)Web框架
- 【輪子已造好】來了,字串匹配演算法字串匹配演算法
- 重複造輪子了, 自己開發的 Laravel RepositoryLaravel
- 造輪子之圖片輪播元件(swiper)元件
- 答應我,用了這個jupyter外掛,別再重複造輪子了
- 一起學習造輪子(二):從零開始寫一個ReduxRedux
- 造輪子-strace(二)實現
- 造輪子之多語言管理
- Swift 造輪子之自制 HUDSwift