关于redis服务

来源:5-12 登录API

7daniel

2023-04-03

5-12 我想问一下,为什么我登录成功后,查看redis keys 是空的?我本地的redis服务是在哪个过程调用的,cache/_redis.js 里面写的连接redis,但是这个文件也没有执行或者引用

// cache/_redis.js
const redis = require('redis')
const REDIS_CONF = require('../conf/db')

// 创建客户端
const redisClient = redis.createClient(REDIS_CONF.port, REDIS_CONF.host)

!(async function () {
  await redisClient
    .connect()
    .then(() => {
      console.log('redis connect success!')
    })
    .catch(console.error)
})()

下面是我看到的调用redis的代码,但是我查看确实没有Cookies生成

// app.js
const session = require('koa-generic-session')
const redisStore = require('koa-redis')

// session 配置
app.keys = [SESSION_SECRET_KEY]
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 // ms
    },
    // ttl: 24 * 60 * 60 * 1000, // 默认不写 跟maxAge相同
    store: redisStore({
      all: `${REDIS_CONF.host}:${REDIS_CONF.port}`
    })
  })
)
写回答

1回答

双越

2023-04-03

你可以单独为 redis 存储写一个简单的 demo ,看看能否成功?

这种问题得抛开复杂的项目环境,单独调试。光看代码也不容易看出问题。

0
2
双越
回复
7daniel
是的。
2023-04-03
共2条回复

Node.js+Koa2框架生态实战 - 从零模拟新浪微博

用 Koa2 做真正的实战项目,不再只是增删改查的小白工程师

964 学习 · 388 问题

查看课程