Во-первых, этот сайт ужасное место.
Теперь к вопросу.
Какие сессии на самом деле:
- Данные хранятся на стороне сервера.
- Выпускается файл cookie, содержащий идентификатор.
- Этот идентификатор отправляется обратно на сервер при каждом запросе в связи с тем, что браузер отправляет файлы cookie.
- Теперь сервер может повторно связать идентификатор в файле cookie - обычно называемый
Session ID
или короткий SID
- с данными сеанса, хранящимися на сервере.
Express.js поддерживает встроенные сеансы .
Что показывает пример:
- Настройка промежуточного программного обеспечения Express.js
- Использование стороннего хранилища для сохранения данных сеанса, в данном случае Redis (IMO излишне для вашей проблемы atm)
Установка Redis требует определенных усилий, но также можно использовать встроенную память Express.js:
var express = require('express');
var app = express.createServer();
var MemoryStore = require('connect/middleware/session/memory');
app.use(express.bodyDecoder());
app.use(express.cookieDecoder());
app.use(express.session({ store: new MemoryStore({ reapInterval: 60000 * 10 }) }));
app.get('/', function(req, res){
req.session.visitCount = req.session.visitCount ? req.session.visitCount + 1 : 1;
res.send('You have visited this page ' + req.session.visitCount + ' times');
});
app.listen(4000);
Это будет просто отслеживать, сколько раз вы заходили на страницу, закрывали браузер и открывали снова. Счет будет все еще там.
Вы можете найти более подробную информацию о параметрах MemoryStore
, таких как максимальное время жизни сеанса и т. Д. здесь .