一个LAMP开发者如何开始使用Redis/Node.js解决方案?

3
我来自PHP和MySQL的老套路,使用Dreamhost。但是!我也是JavaScript高手,一直想搭上Node.js的快车。在我的阅读中,我无意中发现了一个名为Redis的NoSQL解决方案!
考虑到我的共享Web主机和有限的服务器经验(我知道如何在旧戴尔计算机上安装Linux并进行一些基本的服务器管理),我该怎么开始使用Redis和Node.js?接下来最好的问题是——Redis适用于什么情况?什么情况下使用Redis比MySQL更合适?Node.js是否可以取代Apache?如果是这样,为什么开发人员建议使用NGINX服务器?
有很多问题,但似乎没有一个可靠的信息来源将所有这些信息集成在一起!
感谢您的指导和反馈!
3个回答

6
NoSQL只是一个不够精确的炒作词。Redis是一种键值存储数据库系统,其主要目标是速度,所以大多数使用场景都来自事件驱动实现(就像其Reddit教程中所述)。它在日志记录、消息事务和其他反应式进程等方面表现出色。另一方面,Node.js主要用于独立的HTTP传输。它基本上用于快速提供内容(类似于Web服务器,但Node.js不一定需要面向公众),这使其对于后端业务逻辑应用非常有用。例如,使用C程序计算股票价值,然后使用Node.js为另一个内部应用程序提供内容,以便检索,或者使用Node.js为正在开发的网页提供服务,以便同事可以在内部查看它。它在应用程序之间充当中间人时真正表现出色。

4

Redis

Redis是一种内存数据存储:所有数据都存储在内存中,这意味着巨大的数据库意味着巨大的内存使用量,但访问和查找非常快速。

它也是一个键值存储:您没有任何关系或查询来检索数据。您只能设置键值对,并通过其ID检索它。 (Redis还提供有用的类型,如集合和哈希)。

这些特点使Redis非常适合在Web应用程序中存储会话,在数据库上创建索引,处理实时数据(例如分析)。

因此,如果您需要“替换”MySQL来存储基本应用程序模型,则建议尝试像MongoDB、Riak或CouchDB等文档存储库。 文档存储库将您的数据管理为类似于JSON对象的内容(我知道这是一个巨大的捷径)。

如果您想了解更多流行的NoSQL数据库,请阅读本文文章

Node.js

Node.js为V8 JavaScript引擎提供异步I/O。 当您运行节点服务器时,它会在您的计算机上监听一个端口(例如3000)。它不会执行任何域名解析和虚拟主机处理,因此您必须使用带有代理的http服务器,例如Apache或nginx。

在生产中选择nginx是性能问题,我发现它更容易使用。但我建议您使用最熟悉的那个。

要开始使用它,只需安装并开始使用即可。HowToNode


3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接