几天前,我首次在生产环境中运行SailsJs应用。此警告出现。

Warning: connection.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.

我知道有人问过类似的question,答案似乎是定期用类似的代码清理sessionStore。
function sessionCleanup() {
   sessionStore.all(function(err, sessions) {
      for (var i = 0; i < sessions.length; i++) {
         sessionStore.get(sessions[i], function() {} );
      }
   });
}

如何在sails.js中获得对sessionStore的引用?

最佳答案

您所需要做的就是将config/session.js中的内存适配器替换为另一个适配器,例如Redis。

module.exports.session = {
  secret: '<YOUR_SECRET>',
  adapter: 'redis',
  host: 'localhost',
  port: 6379,
  ttl: <REDIS_TTL_IN_SECONDS>,
  pass: <REDIS_PASSWORD>
  prefix: 'sess:'
};

关于sails.js - SailsJs App中的MemoryStore泄漏内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32545698/

10-10 10:19