服务器之家

服务器之家 > 正文

redis缓存存储Session原理机制

时间:2021-11-25 17:52     来源/作者:程序媛张小妍

基于 Redis 存储 Session

如果我们想将 session 数据保存到 redis 中,只要将 session 的存储引擎改成 redis 即可。

使用 redis 作为存储引擎的例子:

首先安装 redis 存储引擎的包

?
1
go get github.com/gin-contrib/sessions/redis
?
1
2
3
4
5
6
7
8
9
// 初始化基于 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))

设置session过期时间

?
1
2
//配置session的过期时间
session.Options(sessions.Options{MaxAge:3600*6 })//6小时=60*60*6

分布式获取Session:(redis)

redis缓存存储Session原理机制

?
1
2
3
4
查看当前的redis值:
keys *
set key vlaue 设置键值对
get key 查看值(加密)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main
import (
    "github.com/gin-contrib/sessions"
    "github.com/gin-contrib/sessions/cookie"
    "github.com/gin-contrib/sessions/redis"
    "github.com/gin-gonic/gin"
)
func main() {
    r := gin.Default()
    //配置session的中间件
    store, _ := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("secret"))
    r.Use(sessions.Sessions("mysession", store))
    //initMiddleware:配置路由中间件
    r.GET("/", func(c *gin.Context) {
        //设置sessions
        session := sessions.Default(c)
        //配置session的过期时间
        session.Options(sessions.Options{MaxAge:3600*6 })//6小时=60*60*6
        session.Set("username", "成强")
        //保存sessions:给其他页面使用(必须调用)
        session.Save()
        c.String(200, "gin首页")
    })
    r.GET("/news", func(c *gin.Context) {
        //获取sessions
        session := sessions.Default(c)
        username := session.Get("username")
        c.String(200, "username=%v", username)
    })
}

 以上就是redis缓存存储Session原理机制的详细内容,更多关于redis存储Session的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/weixin_55305220/article/details/120986996

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部