NodeJS + MySQL而不是PHP + MySQL.好吗?

AHH*_*HHP 17 mysql web-applications node.js

我读过NodeJS,却找不到它的优点.我可以用NodeJS/MySQL替换PHP/MySQL应用程序吗?这是个好主意吗?

请考虑使用PHP CMS.NodeJS可以和PHP一样吗?NodeJS仅适用于某些轻量级操作吗?

如果没问题,哪个MySQL模块最好?

N.B*_*.B. 18

在进入Node.js炒作之前,请阅读以下文章.

基本上,Node.js有问题.它是一个服务器,但您可以通过Node连接到MySQL并将数据发送给用户.有许多陷阱,其中之一是你必须知道JS,你必须通过JS而不是PHP来格式化你的输出.

但是,你的瓶颈几乎永远不会是PHP,除非你做了一些PHP没有设计的东西(比如在一个数组中加载100万个条目并使用该数组进行各种搜索而不是什么).你会发现什么是你的瓶颈(万一网站繁忙)是HTTP服务器,因为你可能会超出内存,因为每个连接需要一定的内存量,当然 - 你的数据库将是(最有可能)我/ O bound(hdd bound).

在这整个过程中,PHP将是您最不担心的问题.使用C或Node编写的程序无助于加快速度,因为您必须扩展数据库系统 - 这是一个完全不同的故事(此外,您还需要扩展HTTP服务器设置).

基本上 - 坚持使用PHP/MySQL,至少暂时忘掉Node.

更新:由于这个答案被接受并且技术被赶上了,所以警告新人很好:Node.js在任何人最疯狂的梦想中变得流行,我个人觉得它很棒.我很幸运能够交替使用node和php.

Node拥有出色的社区和令人敬畏的软件包,软件包管理器和任务管理器.任何熟悉JS的人都可以立即使用节点.这很棒,非常有用,我认为节点可以推动JavaScript做最初设计的Java(这是基于轶事证据而不是事实的观点).

底线:在选择技术时,应该选择他们熟悉或表达的技术.PHP和Node.js都以自己的方式很出色,没有明确的方法来确定哪一个"更好".

  • 您是否只是尝试链接每个人都已揭穿并已被删除的“Node JS 是癌症”文章?(哎呀,来晚了) (2认同)

Mob*_*Mob 5

您可以。它很快。

基准测试:http: //zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-php

与MySQL的交互非常复杂。如果您对node.js有扎实的背景,那应该不是问题。但是PHP开发人员已经使与MySQL的交互最简单,最简洁。

http://www.giantflyingsaucer.com/blog/?p=2596

http://utahjs.com/2010/09/22/nodejs-and-mysql-introduction/

对我来说,我会使用PHP / MySQL


Meh*_*hdi 5

如果你写了一些关于你的php应用程序的细节,将会很有帮助.决定将取决于很多事情,例如 -

  1. 你的申请有多大?它会影响将php应用程序移植到节点所需的时间.您可能还必须考虑您在javascript中的异步样式编程方面的专业知识.
  2. 您写道,您正处于优化步骤.Php已经有很长一段时间了.应用优化技术比在最后阶段重写不同平台中的所有内容应该更容易,当然我假设时间对你来说是一个至关重要的因素,就像软件行业一样.
  3. 你的申请有多慢?是否执行缓慢或不增加负载?语言性能不是Web应用程序的瓶颈.您是否尝试过优化查询,为数据库添加适当的索引,尝试更好的Web服务器和/或缓存?环顾四周,您将获得有关如何优化PHP应用程序的资源,而不是如何在节点中执行某些操作.
  4. 您是否考虑过投资硬件?可能比重做一切更便宜吗?

简而言之,节点仍在探索它的可能性,如果你想学习它,现在是最好的时间.但如果这种学习涉及到生产级应用程序的混乱,我的建议是否定的.节点不会神奇地提高应用程序的性能,它不是为此目的而构建的.

要回答你的另一个问题 - 大多数人更喜欢Felixge的MySQL驱动程序:https://github.com/felixge/node-mysql

这是另一种选择:https://github.com/sidorares/nodejs-mysql-native