有一个关于如何使用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来存储我们的会话。
但是在这个示例中,我怀疑Memcached如何在其中存储会话(没有代码运行Memcached)。
当我们调用req.session.views = 1;
时,存储在Memcached中的值views
是什么时候?还是根本没有存储?有人可以帮我解释一下吗?或者只是教我如何在这里使用Memcached设置和获取会话。
答案 0 :(得分:0)
不,对于您对服务器执行的每次通话,都会在会话中保存。但要检查会话是否相同并显示正确的值,服务器需要在memcached工作时检查会话。 获取代码检查是否有会话视图,每次调用时增加1。