【发布时间】:2015-03-19 14:37:40
【问题描述】:
我是在我的 nodejs 应用程序中使用 redis-server 的初学者 我正在使用 redis 服务器作为我的应用程序的会话存储:
var RedisStore = require('connect-redis')(express);
var admin_session = express.session({
key: 'admin_token',
store: new RedisStore({
host: 'localhost',
port: 6379,
db: 2
// pass: 'RedisPASS'
}),
secret: 'aersda@#$32sfas2342'
});
这适用于单实例。但我的查询是针对从 aws elb 提供的多个实例。
实际上,我希望将 redis 服务器作为一个集群,如果任何实例内部有任何更改可用,它会清除所有实例的会话,并清除所有代码级缓存。
如果可能的话,任何人都可以帮助我如何做到这一点以及步骤是什么?
提前致谢, 维杰
【问题讨论】:
-
您需要在一个地方运行 Redis 并从您的各种节点服务器连接到它。您可以运行 Amazon 的托管 redis,它为您提供了一个跨集群使用的 dns 端点。
-
不可能每个aws实例上都有redis服务器并且都处于同步模式或集群模式,根据单个实例的更改清除缓存或会话?如果可能的话,请给我一些想法或链接我看到的步骤。
-
您有多个服务器吗?或者你只是在一个盒子里运行一个节点集群?
-
是的,我在负载均衡器中有 3 台服务器。
标签: node.js amazon-web-services express redis