1:安装redis(下载安装,这里不介绍了,以前博客里有)
2: 启用redis-server.exe
转载自:http://expressjs.jser.us/guide.html
接下来你需要你创建一个应用程序,和一个redis连接:
var express = require('express');
var redis = require('redis');
var db = redis.createClient();
var app = express();
接下来是纪录用户在线的中间件。 这里我们使用sorted sets, 它的一个好处是我们可以查询最近N毫秒内在线的用户。 我们通过传入一个时间戳来当作成员的"score"。 注意我们使用 User-Agent 作为一个标识用户的id。
app.use(function(req, res, next){
var ua = req.headers['user-agent'];
db.zadd('online', Date.now(), ua, next);
});
下一个中间件是通过zrevrangebyscore来查询上一分钟在线用户。 我们将能得到从当前时间算起在60,000毫秒内活跃的用户。
app.use(function(req, res, next){
var min = 60 * 1000;
var ago = Date.now() - min;
db.zrevrangebyscore('online', '+inf', ago, function(err, users){
if (err) return next(err);
req.online = users;
next();
});
});
最后我们来使用它,绑定到一个端口!这些就是这个程序的一切了,在不同的浏览器里访问这个应用程序,你会看到计数的增长。
app.get('/', function(req, res){
res.send(req.online.length + ' users online');
});
app.listen(3000);
转载自:http://expressjs.jser.us/guide.html