简体   繁体   English

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

[英]how to use Node.js connect-memcached middleware

There is a simple example about how to use connect-memcached . 有一个关于如何使用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.');
});

By this way, we can use Memcached to store our session. 通过这种方式,我们可以使用Memcached来存储我们的会话。 But in this sample, i doubt that how Memcached store session in it (No code operating Memcached). 但是在这个示例中,我怀疑Memcached如何在其中存储会话(没有代码运行Memcached)。 when we call req.session.views = 1; 当我们调用req.session.views = 1; is the value views stored into Memcached right now? 现在存储在Memcached中的值views是什么? or it is not stored at all? 还是根本没有存储? can somebody explain this for me? 有人可以帮我解释一下吗? or just teach me how to set and get session using Memcached here. 或者只是教我如何在这里使用Memcached设置和获取会话。

No, this is saved at session for every call you do to server. 不,这是在会话中为您对服务器执行的每次呼叫保存的。 But to check if session is the same and show the right value, the server need to check the session, when memcached works. 但要检查会话是否相同并显示正确的值,服务器需要在memcached工作时检查会话。 The get code check if have views on your session and increase 1 every time you call it. 获取代码检查是否有会话视图,并在每次调用时增加1。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM