【问题标题】:Getting rid of session and socket pooling sailsjs摆脱会话和套接字池sailsjs
【发布时间】:2014-03-18 22:05:19
【问题描述】:

您好,我目前正在使用sails 开发我的rest api 应用程序。我正在阅读以下文章 http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile

在第 2 点建议摆脱套接字池

var http = require('http');
var options = {.....};
options.agent = false;
var req = http.request(options)

并在第 7 点建议通过删除来摆脱会话。

app.use(express.session({ secret: "keyboard cat" }));

我想知道如何在风帆中做到这一点。

【问题讨论】:

    标签: node.js sockets session express sails.js


    【解决方案1】:

    对于 Sails v0.11x,您应该使用推荐的方法编辑 .sailsrc 文件,并设置:

    {
       "hooks": {
            "session": false,
            // also useful when building an API
            "grunt": false,
       }
    }
    

    【讨论】:

    • 我试过了,但这对我不起作用。它要求我设置会话密码。
    • @Yun - 见sailsjs.org/documentation/reference/configuration/… 的底部:注意:如果会话挂钩被禁用,配置为sails.config.session.secret 的会话密钥仍将用于支持签名cookie(如果相关) .如果会话挂钩被禁用并且您的应用程序不存在会话密钥配置(例如,因为您删除了 config/session.js),那么签名的 cookie 将无法在您的应用程序中使用。要对此行为进行更高级的更改,您可以使用sails.config.http 手动自定义任何应用程序的HTTP 中间件。
    【解决方案2】:

    在 Sails.js v0.10 中,您可以通过将以下密钥添加到您的 config/express.js 文件来禁用会话:

    middleware: {
       session: null
    }
    

    就套接字池而言,我认为他们正在谈论服务器发出http请求,并且只是建议在发出此类请求时,将agent选项设置为@987654324 @。

    【讨论】:

    • 很遗憾不适合我。除了设置这个还有什么需要注意的吗?
    • 我将会话存储在 redis 中(session.js 中的配置),但我想完全停用存储会话。所以我想当我将你的代码包含到 express.js 中时,我的 redis 实例中不应该有任何进一步的条目。正确的?当我从 session.js 中删除 redis 配置时它很好,但我担心会话之后会存储在内存中的某个地方。这会很糟糕。我可以在某个地方检查一下吗?
    猜你喜欢
    • 2015-07-07
    • 2014-02-02
    • 2011-08-04
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 2017-07-17
    • 2014-02-19
    相关资源
    最近更新 更多