在nodejs上使用connect redis太慢。当我将connect redis连接到应用程序时,性能下降
const RedisStore = require('connect-redis')(session);
...
app1.use(session({
store: new RedisStore(
config.redisStore
),
secret: 'asd',
resave: false,
rolling: true,
saveUninitialized: false,
cookie: {
maxAge: config.redisStore.maxAge,
httpOnly:false,
},
}));
如果在apache bench上的应用程序中没有这段代码,我每秒大约有3600个请求。密码是2500。nodejs中的测试路由只发送“ok”
为什么只创建redisstore的“实例”会导致性能下降?
在应用程序中,我不直接使用redisstore
最佳答案
我建议您使用ioredis npm(https://www.npmjs.com/package/ioredis)
如果要发送一批命令(例如>5),可以使用流水线将这些命令在内存中排队,然后一次将它们全部发送到redis。这样性能提高了50%~300%。