日期:2014-05-16  浏览次数:20461 次

node.js之memcahced应用

2, 安装包管理器npm

命令行执行 curl http://npmjs.org/install.sh | sh ?即可安装完成

搜索包命令 ?npm search xxx

安装包 ? ? ? npm install ?xxx

清除搜索缓存 ?npm cache clean

npm install db-mysql ?mysql包

npm install memcached ?memcache包

?

3,

?

?

保存为 insert_mysql.js ? 在命令行执行 ?node insert_mysql.js 即可 ? ?对应mysql参数需要修改

var mysql = require('db-mysql');

new mysql.Database({

? ? hostname: 'localhost',

? ? user: 'root',

? ? password: '123456',

? ? database: 'test'

}).connect(function(error) {

? ? if (error) {

? ? ? ? return console.log('CONNECTION error: ' + error);

? ? } ??

? ? this.query().

? ? ? ? insert('test',?

? ? ? ? ? ? ['name', 'sex'],?

? ? ? ? ? ? ['Test User','man' ]

? ? ? ? ). ?

? ? ? ? execute(function(error, result) {

? ? ? ? ? ? ? ? if (error) {

? ? ? ? ? ? ? ? ? ? ? ? console.log('ERROR: ' + error);

? ? ? ? ? ? ? ? ? ? ? ? return;

? ? ? ? ? ? ? ? } ??

? ? ? ? ? ? ? ? console.log('GENERATED id: ' + result.id);

? ? ? ? });?

});? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?

?

4 , memecache 交互

先命令行启用一个memcache进程 ? 如何安装memcache 自己搞定

?/usr/local/bin/memcached -d -m 1?-u root -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid

?

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid

结束服务? kill `cat /tmp/memcached.pid`

?

新建 memcache_set.js

?

var nMemcached = require( 'memcached' ),

? memcached;

memcached = new nMemcached("127.0.0.1:12000" );

memcached.set( "hello",'quqiufeng@gmail.com' , 10000, function( err, result ){

? if( err ) console.error( err );

? console.dir( result );

? memcached.end();?

});

?

新建 memcache_get.js

?

var nMemcached = require( 'memcached' ),

? memcached;

memcached = new nMemcached("127.0.0.1:12000" );

memcached.get( "hello", function( err, result ){

? if( err ) console.error( err );

? console.dir( result );

? memcached.end();

});

?

先在命令行运行 ?node memcahe_set.js ?显示 true

然后运行 node memcache_get.js 显示 quqiufeng@gmail.com ?说明node.js 使用memcache成功

?

5 ,node.js 获取 http get方式传递的值

新建 http_get.js

?

var http = require('http'); ?

var server = http.createServer(); ?

server.on('request',function (req, res){ ?

? res.writeHead(200, {'Content-Type': 'text/plain'}); ?

? var name = require('url').parse(req.url,true).query.name ?

? res.end('Hello World ' + name); ?

});?

server.listen(1337, " localhost?"); ?

console.log('Server running now');

命令行执行 node.js http_get.js 后

本地