2014-02-18 35 views
1

嗨我目前正在使用sails的我的休息API應用程序。我讀了下面的文章 http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile擺脫會話和套接字池sailsjs

在2點有人提出擺脫套接字池

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

並在7點建議給去除擺脫會話。

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

我想知道如何在帆中做到這一點。

回答

3

在Sails.js v0.10您可以通過添加以下關鍵看你config/express.js文件禁用會話:

middleware: { 
    session: null 
} 

至於套接字池去,我覺得他們在談論HTTP請求服務器,並只是建議當提出這樣的請求時,您將agent選項設置爲false

+0

可惜不是爲我工作。任何需要注意的事情除了設置? –

+0

你能否詳細說明「不工作」? – sgress454

+0

我有我的會話存儲在redis(session.js中的配置),但我想完全停用存儲會話。所以我想,當我將代碼包含到express.js中時,我的redis實例中不應該有任何更多條目。對?當我從session.js中刪除redis配置時,它很好,但我擔心這些會話會在那之後存儲在內存中的某處。這將是不好的。我可以檢查某個地方嗎? –

5

對於帆v0.11x,你應該使用編輯.sailsrc文件的推薦的方法,並設定:

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

我試過這個,但這對我不起作用。這是要求我設置會話密碼。 – Yun

+0

@雲 - 請參閱http://sailsjs.org/documentation/reference/configuration/sails-config-session的底部:注意:如果會話掛接被禁用,配置爲sails.config.session.secret的會話密鑰仍然會用於支持簽名的cookies,如果相關的話。如果會話掛鉤被禁用,且您的應用程序不存在會話祕密配置(例如,因爲您刪除了config/session.js),則簽名的cookie在您的應用程序中將不可用。要對此行爲進行更高級的更改,可以使用sails.config.http手動自定義應用程序的任何HTTP中間件。 – Leo