beego中的session管理

由于之前没有专注于session部分的理解。本来想描述下session的详细内容。大体上读完了beego中的session管理部分。

session可能用于,特定服务器为特定终端用户在服务器端建立一个空间,空间销毁的出发点:应用层明确定义的session销毁动作(例如:用户注销),或者服务器用内存存储session(服务器挂了)

我并没有在实际场景中用到过session,电商一般短时间内会有大量的用户操作。如果用session做统计或者用户行为分析,用mysql存有性能瓶颈,用redis存有把redis击垮的危险(redis中的不段rehash也是潜在的风险)

综上所述,可能session更是和用户流量平稳的环境。

Cut the bull shit...

beego中用session.go一个文件封装了所有对session的操作。store用于表示session在内存中的模型(需要读写互斥)。provider抽象了实际存储store的容器(这里当然是可以扩展的)。manager相当于是根据用户的配置访问provider的interface。sid存储在cookie中,用于建立终端和服务器的关联关系。

总体上就是定义操作+内存实体,同时方便操作或者内存实体给新的provider使用。

beego中的session管理
Share this