2016-01-14 2 views
0

Я хочу сохранить большие данные для каждого пользователя, сохраняющего объект сервера, и пользователь может использовать разрешенную функцию, которая зависит от данных в сеансе. Я хотел бы спросить, может ли клиентская сессия npm сделать это для меня. Могу ли я сохранить большие данные? может ли он работать с пользователями mulitple?сеансовый кеш в узле js

благодарит

ответ

0

Вы можете использовать session middleware for express (npm).

// Use the session middleware 
app.use(session({ secret: 'your-secret', cookie: { maxAge: 60000 }})) 

// Access the session as req.session 
app.get('/', function(req, res, next) { 
    var sess = req.session 
    if (sess.views) { 
    sess.views++; 
    } else { 
    sess.views = 1; 
    } 
    // ... 
}) 

UPD

Предупреждение на стороне сервера хранения сессии по умолчанию, MemoryStore, является специально не предназначены для производственной среды. В большинстве случаев будет протекать память , не масштабируется за один процесс, и предназначена для отладки и разработки.

Для магазинов есть many options, включая redis store.

var session = require('express-session'); 
var RedisStore = require('connect-redis')(session); 

app.use(session({ 
    store: new RedisStore(options), 
    secret: 'keyboard cat' 
})); 
+0

Я видел на сайте: данные сеанса хранятся на стороне сервера, это очень хорошо. Но я также видел предупреждение: серверное хранилище на стороне сервера MemoryStore по умолчанию специально не предназначено для производственной среды. Это будет утечка памяти в большинстве условий, не масштабируется за один процесс и предназначена для отладки и разработки. –

+0

@ davidlopez, пожалуйста, проверьте обновление –

+0

и в чем разница между экспресс-сессией и сеансом клиента, что рекомендуется? –

Смежные вопросы