如何使用KrakenJS将Redis配置为会话存储

Lin*_*ran 4 session connect redis node.js

使用Express,我可以使用Redis作为会话存储,如下所示:

var express = require('express');
var app = express();
var RedisStore = require('connect-redis')(express);

app.use(express.cookieParser());
app.use(express.session({
    store: new RedisStore({
    host: 'localhost',
    port: 6379,
    db: 'test',
    pass: '123456'
  }),
  secret: '123456789'
}));
Run Code Online (Sandbox Code Playgroud)

但是对于Kraken,会话配置在文件中config/middleware.json.我将文件更改为使用connect-redis如下:

{
    "middleware": {
        "session": {
           "module": "connect-redis",
           "secret": "99b91c387e6e049308fc31d3cfff5fd3149e419c"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,Kraken确实使用Redis作为会话存储,但我怎么想传递Redis的选项(密码,主机,数据库名称......),就像Express一样?

Sud*_*mar 11

kraken-js的文档不是很广泛.希望它有所改善.

我们必须深入研究代码并理解逻辑,我们能够解决.

希望这能帮助其他想要使用Redis Session商店和Kraken.js的人

将"connect-redis"添加到package.json

"dependencies": {
    ...
    "connect-redis": ">=1.0.0"
},
Run Code Online (Sandbox Code Playgroud)

安装"connect-redis"模块

npm install
Run Code Online (Sandbox Code Playgroud)

在config/middleware.json中添加如下配置

{
    "middleware": {
        "session": {
            "module": "connect-redis",
            "config": {
                "host": "localhost",
                "port": 6379,
                "db": 1
            },
            "secret": "a1df0e81ef54d199567befb02761b1834c8b7406"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

根据需要更改配置

启动/重启服务器,它应该工作!

如果您已经运行Redis