Node/Koa2[19]: Koa2中使用redis
·
Yin灏
安装依赖
npm i koa-redis koa-generic-session --save
入口文件 app.js 中配置 redis
src/app.js
//...
const session = require("koa-generic-session");
const redisStore = require("koa-redis");
const { REDIS_CONF } = require("./conf/db");
//...
// --注意--:需要写在注册路由之前
app.keys = ["UIsdf_7878#$"];
app.use(
session({
key: "weibo.sid", // cookie name 默认是 koa.sid
prefix: "weibo:sess:", // redis key 的前缀,默认是 koa:sess:
cookie: {
path: "/",
httpOnly: true,
maxAge: 24 * 60 * 60 * 1000,
},
// ttl: 24 * 60 * 60 * 1000, 默认等于 maxAge
store: redisStore({
all: `${REDIS_CONF.host}:${REDIS_CONF.port}`,
}),
})
);
koa2 中具体使用 redis
src/routes/index.js
//...
// session 配置完毕需要使用
router.get("json", async (ctx, next) => {
const session = ctx.session;
if (session.viewNum == null) {
session.viewNum = 0;
}
session.viewNum++;
ctx.body = {
title: "koa2 json",
viewNum: session.viewNum,
};
});
//...