我是否需要为connect-redis指定客户端?

时间:2016-10-21 04:45:11

标签: node.js express redis

我尝试在node express服务器上使用redis来存储用户会话,方法是使用connect-redis(on Github)库。我发现这个设置块效果很好:

var app = express();

app.use(session({
  secret: 'hahahahahahahahahaha',
  cookie: { maxAge: 36000000 },
  store: new redisStore(),
}))

注意我没有将任何参数传递给new redisStore()并且它现在也有效(在其文档中传递了client),猜测它是否使用localhost和默认端口默认情况下。

但令我担心的是,如果我将服务器放在未来的AWS EC2上,这是一个共享服务器,如果我没有指定客户端,这将是一个问题吗?比方说,redis会与同样在EC2上托管的其他服务器冲突吗?

1 个答案:

答案 0 :(得分:1)

在这里使用redis客户端。您刚刚放弃了客户端的配置。这将是未来的一个问题,因为(可能)您将在集群中部署在AWS上。 redis客户端需要跨实例共用。

如果您没有定义客户端的端口号和其他详细信息,那么您基本上是要撤消进行状态管理的目的。您的redis客户端将仅限于您自己的实例。

浏览http://redis.io/topics/partitioning了解详情。

我们的想法是让一个(或一个集群)redis实例独立于您的AWS实例运行,以便在所有实例之间共享该状态。 是您需要完全控制redis客户端的原因