灏天阁

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,
  };
});
//...

- Book Lists -