如何使用 Node.js connect-memcached 中间件

问题描述 投票:0回答:1

有一个关于如何使用 connect-memcached 的简单示例。

var express      = require('express')
, session        = require('express-session')
, cookieParser   = require('cookie-parser')
, http           = require('http')
, app            = express()
, MemcachedStore = require('connect-memcached')(session);

app.use(cookieParser());
app.use(session({
      secret  : 'CatOnKeyboard'
    , key     : 'test'
    , proxy   : 'true'
    , store   : new MemcachedStore({
        hosts: ['127.0.0.1:11211']
    })
}));

app.get('/', function(req, res){
    if(req.session.views) {
        ++req.session.views;
    } else {
        req.session.views = 1;
    }
    res.send('Viewed <strong>' + req.session.views + '</strong> times.');
});

这样我们就可以使用Memcached来存储我们的session了。 但在这个示例中,我怀疑 Memcached 如何在其中存储会话(没有代码操作 Memcached)。 当我们调用

req.session.views = 1;
时,
views
的值现在存储到 Memcached 中吗?或者它根本没有存储?有人能为我解释一下吗?或者在这里教我如何使用 Memcached 设置和获取会话。

node.js session memcached node.js-connect
1个回答
0
投票

不,这会在您对服务器进行的每次调用的会话中保存。但是为了检查会话是否相同并显示正确的值,服务器需要在memcached工作时检查会话。 获取代码检查您的会话中是否有视图,并在每次调用时增加 1。

© www.soinside.com 2019 - 2024. All rights reserved.