在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%。

10-04 20:30