我使用express-session
和memcached-connect
包来维护会话。
一切都按预期工作。
这是我的实施:
中间件
app.use(session({
rolling: true,
secret: 'iloveexpress',
proxy: 'true',
store: new MemcachedStore({
hosts: ['127.0.0.1:11211']
}),
cookie: {
maxAge: 86400000,
path: "/",
domain: 'example.com'
}, //1 Day
saveUninitialized: false,
resave: true
}));
设定会议
req.session.data = {
id: '123,
name: 'ABC',
amount: 1000,
profilePic: '/images/asd.jpg'
}
更新会话
req.session.data.amount = 500;
但是当我更新会话中的特定数据时,它不会更新。另一次我向Api请求显示旧数据,即amount = 1000;
修改 req.session控制台
Session {
cookie:
{ path: '/',
_expires: 2017-09-20T07:11:35.394Z,
originalMaxAge: 86399951,
httpOnly: true,
domain: 'example.com' },
data:
{ id: '591173362ad30b419e2c4f54',
name: 'ABC',
amount: 1000,
profilePic: '/image/1496663576532Koala.jpg' } }
答案 0 :(得分:0)
我知道它很旧,但是我遇到了同样的问题,并通过设置cookie选项来解决它:
安全:正确