thinkjs——session

工作中又遇到了session问题,于是整理一下有关thinkjs中的session使用小方法:

需要用户登录的网站基本上都离不开 Session,ThinkJS 里默认支持多种类型的 Session,如:filedbredis 等。

支持的 Session 类型:

  • memory 内存方式
  • file 文件类型
  • db 数据库类型
  • redis Redis 类型 

使用 redis 类型的 Session 需要配置 Redis,具体配置为:

redis 配置,config/redis.js

export default {
  host: "127.0.0.1",
  port: 6379,
  password: "",
  timeout:24*60*60,   //一天
  log_connect: true 
};

Session 默认配置如下,可以在 src/common/config/session.js 中进行修改:

export default {
  type: "file",
  name: "thinkjs", //对应 cookie 的名称
  secret: "", //Session 对应的 cookie 是否需要加密
  timeout: 24 * 3600, //过期时间,默认为一天
  cookie: { // cookie options
    length: 32
  },
  adapter: {
    file: {
      path: think.RUNTIME_PATH + "/session"
    }
  }
};

关于cookie的配置,config/cookie.js

export default {
  type: "file",
  name: "thinkjs", //对应 cookie 的名称
  secret: "", //Session 对应的 cookie 是否需要加密
  timeout: 24 * 3600, //过期时间,默认为一天
  cookie: { // cookie options
    length: 32
  },
  adapter: {
    file: {
      path: think.RUNTIME_PATH + "/session"
    }
  }
};

1.清除session 

await this.session();
2.设置session   
this.session('ticket_weixinshare',ticket);//key value形式

3.读取session

await this.session("ticket_weixinshare");//用key值获取session

总结:其实之前的自己,每次一遇到有关session的问题,就会默默的给自己施加压力,并告诉自己:这个很难,不好解决,于是不由自主的头就疼了……不过随着入手的项目越多,慢慢的意识到原来有关session的问题并不是那么的头疼,反而是自己形成了错误的思维定式!以后,改正缺点~

  

posted @ 2016-12-21 16:32  郑叶叶  阅读(1997)  评论(0编辑  收藏  举报