mongodb和memcached不是一个范畴内的东西。
mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。
mongodb和memcached不存在谁替换谁的问题。和memcached更为接近的是redis。
它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据> 类型有限,查询功能不强,一般用作缓存。
一般现在的项目中,用redis来替代memcached。
. . .
mongodb和memcached不是一个范畴内的东西。
mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。
mongodb和memcached不存在谁替换谁的问题。和memcached更为接近的是redis。
它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据> 类型有限,查询功能不强,一般用作缓存。
一般现在的项目中,用redis来替代memcached。
. . .
注 : 我们本文主要讨论穿越锥NAT
对称NAT 与上述3 种类型都不同, 不管是全锥NAT ,限制性锥NAT 还是端口限制性锥NAT ,它们都属于锥NAT (Cone NAT )。当同一内部主机使用相同的端口与不同地址的外部主机进行通信时, 对称NAT 会重新建立一个Session ,为这个Session 分配不同的端口号,或许还会改变IP 地址。
. . .
首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。
web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器。Nginx会传哪些数据给PHP解析器呢?url要有吧,查询字符串也得有吧,POST数据也要有,HTTP header不能少吧,好的,CGI就是规定要传哪些数据、以什么样的格式传递给后方处理这个请求的协议。仔细想想,你在PHP代码中使用的用户从哪里来的。
当web server收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给浏览器。
好了,CGI是个协议,跟进程什么的没关系。那fastcgi又是什么呢?Fastcgi是用来提高CGI程序性能的。
. . .