I/O即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出(来自Wiki)
这句话换到编程中就是CPU与外部存储器的输入输出,包括CPU本身的一,二,三级的缓存,内存,硬盘,网络,Usb设备等等
在编程中常见的I/O操作有那些
一般软件都会有数据库,不论是web软件还是移动,桌面端软件,如果数据库是保存在硬盘的话,那么对数据库的增,删,改,查都是对硬盘I/O的操作
PHP
$result = query(select/insert/update.....);
Node.js
query(select/insert/update.....,(err,result)=>{
if(err)return err;
// use result
});
你的应用也可能会使用缓存,比如Redis,Memcached意味你需要内存进行操作,即内存I/O
PHP
$result = redis.set('test');
Node.js
redis.set('test',(err,result)=>{
if(err)return err;
// use result
});
使用远程的数据需要用到网络I/O
PHP
$result = request.post('url');
Node.js
request.post('url',(err,result)=>{
if(err)return err;
// use result
});
编写Node.js的人理解I/O尤为重要,你对Node.js的理解更为深刻,Node.js的接口都是很低级别的,比如stream,buffer,process,但PHP不需要理解那么多底层