6.3 session存储
发布日期:2021-06-30 15:53:55 浏览次数:3 分类:技术文章

本文共 863 字,大约阅读时间需要 2 分钟。

上一节我们介绍了Session管理器的实现原理,定义了存储session的接口,这小节我们将示例一个基于内存的session存储接口的实现,其他的存储方式,读者可以自行参考示例来实现,内存的实现请看下面的例子代码

package memoryimport (    "container/list"    "github.com/astaxie/session"    "sync"    "time")var pder = &Provider{list: list.New()}type SessionStore struct {    sid          string                      //session id唯一标示    timeAccessed time.Time                   //最后访问时间    value        map[interface{}]interface{} //session里面存储的值}func (st *SessionStore) Set(key, value interface{}) error {    st.value[key] = value    pder.SessionUpdate(st.sid)    return nil}func (st *SessionStore) Get(key interface{}) interface{} {    pder.SessionUpdate(st.sid)    if v, ok := st.value[key]; ok {        return v    } else {        return nil    }    return nil}func (st *SessionStore) Delete(key interface{}) error {    delete(st.value, key)    pder.SessionUpdate(s

转载地址:https://kaitiren.blog.csdn.net/article/details/113515901 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:6.4 预防session劫持
下一篇:6.2 Go如何使用session

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月05日 05时52分41秒