Nodejs学习随笔

649 查看

1. 路由:

访问地址:http://您的域名:3000/meeting

app.get('/meeting',function(req,res){
    var queryGet = req.query;    //get参数列表
});

思考:
1.能否get或post二维数组?(能)
2.能否隐藏端口号?

2. 内存中的全局变量
nodejs与PHP等运行环境不同,每次http请求,后端并不会新建一个实例,而是访问运行node程序之后的同一个实例,该实例中设置全局变量,那么两次不同的http请求,将能对程序中的全局变量进行列队操作,减小单词http请求的系统开销,并增强数据交互能力。

app.js:

var globalData = {
    visitCount:0, //首页访问计数
}

app.get('/',function(req,res){
    globalData.visitCount ++;
    req.send('您是首页的第' + globalData.visitCount + '位访问者');
})

该段代码实现简单的访问计数器,并且不依赖于数据库操作,全在内存中完成,可统计app.js运行起的总访问次数。

在php中实现计数器,则通常需要借助数据库完成,每次访问请求,都执行一次数据库的update操作,对服务器对开销较大。

思考:
1.nodejs环境就像是一个离线版的前端,在需要数据同步的时候,可连接数据库(mongodb、mysql等),正常的运行周期内,尽量用内存来解决问题,减轻数据库压力,提升http并发访问压力。
2.前端更新频繁的数据,怎样优雅的结合websocket完成实时的数据同步?

(学习中,边学习边写)