我读过NodeJS,却找不到它的优点。我可以用NodeJS / MySQL替换PHP / MySQL应用程序吗?这是个好主意吗?
请考虑使用PHP CMS。 NodeJS可以和PHP一样吗? NodeJS只适用于一些轻量级操作吗?
如果没问题,哪个MySQL模块最好?
答案 0 :(得分:18)
在进入Node.js炒作之前,read the following article。
基本上,Node.js有问题。 它是一个服务器,但您可以通过Node连接到MySQL并将数据发送给用户。有许多陷阱,其中之一就是你必须知道JS,你必须通过JS而不是PHP格式化你的输出。
然而,你的瓶颈几乎永远不会是PHP,除非你做了一些不是PHP设计的东西(比如在一个数组中加载100万个条目并使用该数组进行各种搜索,什么不是)。 你会发现什么是你的瓶颈(万一网站繁忙)是HTTP服务器,因为你可能会超出内存,因为每个连接需要一定的内存量,当然 - 你的数据库将是(最有可能)我/ O bound(hdd bound)。
在整个过程中,PHP将是您最不担心的问题。使用C或Node编写的程序无助于加快速度,因为您必须扩展数据库系统 - 这是一个完全不同的故事(此外,您还需要扩展HTTP服务器设置)。
基本上 - 坚持使用PHP / MySQL,至少暂时不要使用Node。
更新:由于这个答案被接受并且技术问世,所以警告新人很好:Node.js在任何人的最疯狂的梦想中变得流行,我个人认为 awesome 。我很幸运能够交替使用node和php。Node拥有出色的社区和强大的软件包,软件包管理器和任务管理器。任何熟悉JS的人都可以立即使用节点。它非常棒,非常有用,我认为节点可以推动JavaScript完成Java最初的设计(这是基于轶事证据而不是事实的观点)。
底线:在选择技术时,应该选择他们熟悉或表达的技术。 PHP和Node.js都以自己的方式很好,没有明确的方法来确定哪一个“更好”。
答案 1 :(得分: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
答案 2 :(得分:5)
如果你写了一些关于你的php应用程序的详细信息会很有帮助。决定将取决于很多事情,比如 -
简而言之,节点仍在探索它的可能性,如果你想学习它,现在是最好的时间。但如果这种学习涉及到生产级应用程序的混乱,我的建议是否定的。节点不会神奇地提高应用程序的性能,它不是为此目的而构建的。
要回答您的另一个问题 - 大多数人更喜欢Felixge的MySQL驱动程序:https://github.com/felixge/node-mysql
答案 3 :(得分:2)
您可以使用https://github.com/masuidrive/node-mysql或https://github.com/sdepold/sequelize。它是nodejs最好的mysql驱动程序之一
答案 4 :(得分:1)
如果你有一个庞大的现有mysql数据库,你需要与完整的遗留代码进行交互,这将是转换为nosql的噩梦,然后是。
否则,请使用couch / mongo / redis / riak / cassandra /等。
选择一个符合您要求的可靠的noSQL数据库。
至于节点是否可以做php / mysql可以做的事情。您可以使用它开发网站。
节点是否有drupal或wordpress的equivelant握住你的手并为你做一切?否。
答案 5 :(得分:0)
我在NodeJS方面经验不足。但我的观点是,
Nodejs专为创建聊天,在线游戏等实时应用程序而构建,因为它非常快。
NodeJS是一个服务器。所以你无法与php比较,这意味着你需要去第三方模块执行一些任务,比如expressjs,node-mysql等。
使用NodeJS创建应用程序非常简单,如php-mysql