redis+nodejs实现队列的思路

redis里面天然的list链表非常适合做队列,下面看一个简单的nodejs+redis队列的实现过程


   我们需要两个页面 一个index.ejs和一个pop.ejs分别来查看入队和出队的情况


index.ejs代码如下:



    
        push页面
        
        
    
    
        



pop.ejs代码如下:



    
        pop页面
        
        
    
    
        



下面看下路由方面的控制:

exports.index = function(req, res){
  var redis = require('redis').createClient();
  redis.auth('chenqiguo');
    var date = 'A_'+(new Date()).valueOf();
    redis.lpush('list1',date);
    iosocket.on('connection',function(socket){
       socket.emit('push',date);
    })
    res.render('index', { title: 'pop',push:date});
 
  
 
};

exports.pop = function(req,res){
  var redis = require('redis').createClient();
  redis.auth('chenqiguo');
    redis.rpop('list1',function(err,result){
        iosocket.on('connection',function(socket){
            socket.emit('pop',result);
        })
        res.render('pop', { title: 'pop' });
    });
}


这样一个简单的队列实现思路就出来了,记住一定要在同一个list上面操作 

你可能感兴趣的:(nodejs)