我在 AWS (ElastiCache) 上配置了一个 Redis 集群。
它有一个配置端点和 6 个节点(3 个分片)。
在这里阅读 npm 模块的文档时,它说您必须合并 ioredis 才能使其适用于 Redis 集群。
我分享了下面的配置,它适用于单个 Redis 节点,但不适用于集群
"use strict";
// Include modules
var express = require("express"),
cookieParser = require("cookie-parser"),
bodyParser = require("body-parser"),
session = require("express-session"),
RedisStore = require("connect-redis")(session),
middleware = require("./routes/middleware"),
app = express(),
sessionNameOfApp = createAppSpecificSession(configNameOfApp),
//This works but only for a single node. It doesn't work for a Redis Cluster
function createAppSpecificSession(config) {
return session({
store: new RedisStore({
host: config.SESSION.host,
port: config.SESSION.port,
pass: config.SESSION.pass
}),
resave: false,
saveUninitialized: false,
secret: config.SESSION.cookieSecret,
name: config.SESSION.cookieName,
genid: sessionMethods.generateSessionId
});
}
app.use(middleware.setUUIDOnReq);
app.use(middleware.setAgentOnReq);
// additional app modules
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(cookieParser());
app.use(middleware.setSessionMethods);
// Include routes
require("./routes/app")(express, app);
module.exports = app;
我的问题是 - 我如何合并 ioredis 来支持集群?
这对我来说是一个巨大的障碍,所以任何帮助都将受到高度赞赏。
在网上找了一个例子,一无所获!