请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于sessionData为null的问题

老师的代码如下:

  let needSetCookie = false;
  let userId = req.cookie.userid;
  if (!userId) {
    needSetCookie = true;
    userId = `${Date.now()}_${Math.random()}`;
    // 初始化redis 中的session值
    set(userId, {});
  }

  req.sessionId = userId;
  get(req.sessionId)
    .then((sessionData) => {
	  // 问题就是下面这句!!!!!!!!!!!!
      if (sessionData == null) {
        // 初始化redis 中的session值
        set(req.sessionId, {});
        // 设置session
        req.session = {};
      } else {
        req.session = sessionData;
      }
      console.log("req.seesion", req.session);
      // 处理postData
      return getPostData(req);
    })

老师,我想问一下,什么情况下sessionData会为null呢?因为前面有这么一句代码:

 set(userId, {}); 

这就保证了sessionData至少为 {} 啊,这就永远不会出现为null的情况啊?难道是redis会清理自己存储的key为userId,value为相应的session信息?

正在回答

1回答

redis 数据被清空了(例如切换 redis 数据库,或者其他误操作),而 cookie 还有值。

此时,sessionData 就是 null 了。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号