egg-session 将数据存储到redis
config/config.local.ts开发阶段。
·
Session 默认存放在 Cookie 中,但是如果我们的 Session 对象过于庞大,
就会带来一些额外的问题:
1.浏览器通常都有限制最大的 Cookie 长度,当设置的 Session 过大时,浏览器可能拒绝保存。
2.Cookie 在每次请求时都会带上,当 Session 过大时,每次请求都要额外带上庞大的 Cookie 信息。
解决方法
egg-session-redis 就提供了将 Session 存储到 redis 中的能力,
在应用层,我们只需要引入 egg-redis 和 egg-session-redis 插件即可。
注意:先安装Redis
1.安装egg-session-redis
npm i egg-session-redis egg-redis --save
2.开启egg-session-redis
config/plugin.ts
// 开启sessionRedis 使session存储到 redis 中
sessionRedis: {
enable: true,
package: 'egg-session-redis',
},
redis: {
enable: true,
package: 'egg-redis',
},
3.配置redis
config/config.local.ts开发阶段
// 配置Redis
config.redis = {
client: {
host: '127.0.0.1',//ip
port: 6379,//端口号
password: '',//密码
db: 0,//数据库
},
agent: true,
};
4.测试
4-1 存储数据
ctx.session.captcha = {
code: 'QvT8',
expire: Date.now() + 60 * 1000, // 一分钟后过期
};
4-2 进入redis
终端输入
redis-cli -h 127.0.0.1 -p 6379
keys *
得到密钥
"95f8e50e-8e96-4d7c-8f43-f0571a50facd"
终端输入
get "95f8e50e-8e96-4d7c-8f43-f0571a50facd"
得到存储数据
"{\"captcha\":{\"code\":\"QvT8\",\"expire\":1659515514495},\"_expire\":1659601854499,\"_maxAge\":86400000}"
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)