NodeJS + MySQL而不是PHP + MySQL。 可以吗?

我已经阅读了关于NodeJS,但无法find它的优势。 我可以使用NodeJS / MySQLreplacePHP / MySQL应用程序吗? 这是个好主意吗?

请考虑一个PHP CMS。 NodeJS能和PHP一样好吗? NodeJS只适用于一些轻量级的操作?

如果可以的话,哪个MySQL模块是最好的?

在进入Node.js宣传之前,请阅读以下文章 。

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

然而,你的瓶颈将几乎永远不会是PHP,除非你做了一些PHP没有devise的东西(比如在一个数组中加载一百万个条目,并使用该数组进行各种search)。 你会发现你的瓶颈(在一个繁忙的网站的情况下)是HTTP服务器,因为你可能会超过内存,因为每个连接需要一定的内存,当然 – 你的数据库将(很可能)我/ O绑定(hdd绑定)。

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

基本上 – 坚持使用PHP / MySQL,忘记Node,至less现在。

更新:由于这个答案被接受,并且技术被追上,所以最好警告新人:Node.js变得非常stream行,超越了任何人的梦想,我个人觉得它很棒 。 我很幸运,能够交替使用节点和PHP。

Node有很棒的社区和很棒的包,包pipe理者和任务运行者。 任何熟悉JS的人都可以立即使用节点。 这非常棒,非常有用,我认为node是推动JavaScript去做Java最初devise的东西(这是基于轶事证据而不是事实的观点)。

底线:select技术时,应该select一个他们熟悉或expression的技术。 PHP和Node.js都是以自己的方式很好,没有明确的方式来确定哪一个更好。

如果你写了一些有关你的php应用程序的细节,这将是有帮助的。 这个决定将取决于许多事情,例如 –

  1. 你的应用程序有多大? 它会影响你需要将php应用程序移植到节点的时间。 您可能还必须考虑您在javascript中使用asynchronous风格编程的专业知识。
  2. 你写的是在优化的一步。 Php在那里很长一段时间。 应用优化技术比在后期重写所有的平台应该更容易,当然我认为时间对于你来说是一个至关重要的因素,就像在软件行业一样。
  3. 你的应用程序有多慢? 执行速度是否缓慢,或者不是随着负载的增加而放大? 语言performance几乎不是Web应用程序的瓶颈。 你有没有尝试优化你的查询,添加适当的索引到你的数据库,尝试一个更好的Web服务器和/或caching? 看看周围,你会得到更多的资源在如何优化PHP应用程序比在节点做什么。
  4. 你有没有考虑投资硬件? 那可能比重做一切都要便宜吗?

简而言之,节点仍在探索其可能性,如果你想了解它,现在是最好的时机。 但是,如果这种学习涉及生产层面的应用,我的build议是否定的。 节点不会奇迹般地提高你的应用程序的性能,它不是为此目的而构build的。

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

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

您可以。 它很快。

标杆pipe理: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

你可以使用https://github.com/masuidrive/node-mysql或https://github.com/sdepold/sequelize 。 这是nodejs最好的mysql驱动程序之一

如果你有一个很大的现有的mysql数据库,你需要与充分的遗留代码进行交互,这将是一个噩梦转换为nosql然后是的。

否则,请使用沙发/ mongo / redis / riak / cassandra /等。

select一个适合您需求的可靠的noSQL数据库。

至于节点是否可以做php / mysql可以做的是的。 你可以用它开发网站。

节点是否有drupal或者wordpress的支持你的手,为你做的一切? 没有。

我在NodeJS方面经验不足。 但是我的观点是,

  1. Nodejs是为创build实时应用程序(如聊天,在线游戏等)而打造的,因为它非常快。

  2. NodeJS是一个服务器。 所以你不能和php比较,这意味着你需要去第三方模块来执行一些任务,比如expressjs,node-mysql等,

  3. 使用NodeJS创build应用程序非常简单,比如php-mysql