Вы можете использовать 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'
}));
Я видел на сайте: данные сеанса хранятся на стороне сервера, это очень хорошо. Но я также видел предупреждение: серверное хранилище на стороне сервера MemoryStore по умолчанию специально не предназначено для производственной среды. Это будет утечка памяти в большинстве условий, не масштабируется за один процесс и предназначена для отладки и разработки. –
@ davidlopez, пожалуйста, проверьте обновление –
и в чем разница между экспресс-сессией и сеансом клиента, что рекомендуется? –