• memory 内存方式
  • db 数据库类型
  • redis Redis 类型
    db Session

使用 db 类型的 Session 需要创建对应的数据表(如果是 MongoDB 则无需创建),可以用下面的 SQL 语句创建:

需要将 think_ 改为 db 配置中的数据表前缀。

redis Session

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

  1. export default {
  2. type: 'file',
  3. name: 'thinkjs', //对应 cookie 的名称
  4. timeout: 24 * 3600, //过期时间,默认为一天
  5. cookie: { // cookie options
  6. length: 32
  7. },
  8. adapter: {
  9. path: think.getPath('common', 'runtime') + '/session'
  10. }
  11. }

2.0.6 版本开始添加了 adapter 配置。

关于 Cookie 的配置请见 。

Controller 或 Logic 里可以通过下面的方式读写 Session:

读取 Session
设置 Session
  1. export default class extends think.controller.base {
  2. async indexAction(){
  3. //设置 session
  4. await this.session('userInfo', data);
  5. }
  6. }
清除 Session

可以通过下面的命令创建 Session Adapter:

会创建文件 src/common/adapter/session/foo.js,需要实现下面的方法:

框架里的 Session 实现请见 。