我来自Dreamhost上PHP和MySQL的陈词滥调。但!我也是一个javascript jenie,我一直渴望上Node.js火车。在我的阅读中,我无意中发现了一个名为Redis的NoSQL解决方案!
凭借我的共享Web主机和有限的服务器体验(我知道如何在我的旧dell上安装Linux并执行一些基本的服务器管理员)如何开始使用Redis和Node.js?而下一个最好的问题是 - 甚至使用Redis的用途是什么? Redis比MySQL更适合什么情况? Node.js是否删除了Apache的必要性?如果是这样,为什么开发人员建议使用NGINX服务器?
很多问题,但似乎没有一个坚实的消息来源,这些信息都集中在一个地方!
再次感谢您的指导和反馈!
答案 0 :(得分:6)
NoSQL只是一个不够热门的词汇。
我会尝试回答问题的后半部分。
Redis是一个键值存储数据库系统。速度是它的主要目标,因此它的大部分用途来自事件驱动的实现(因为它在reddit教程中已经过去了)。
它擅长于记录,消息事务和其他反应过程等领域。
另一方面,Node.js主要用于独立的HTTP事务。它基本上用于提供内容(非常像Web服务器,但Node.js实际上不一定是公开的)非常快,这使得它对后端业务逻辑应用程序很有用。
例如,让C程序计算股票价值并让Node.js为另一个内部应用程序的内容提供服务,以便检索或使用Node.js来提供一个正在开发的网页,这样一个人的同事就可以在内部查看它。
它非常适合作为应用程序之间的中间人。
答案 1 :(得分:4)
Redis是一个内存数据存储区:所有数据都存储在内存中,这意味着庞大的数据库意味着大量内存使用,但具有非常快速的访问和查找功能。
它也是一个键值存储:您没有任何实现或查询来检索您的数据。您只能设置键值对,并通过其ID进行检索。 (Redis还提供有用的类型,例如集合和散列)。
这些特性使Redis非常适合在Web应用程序中存储会话,在数据库上创建索引,处理分析等实时数据。
因此,如果您需要“替换”MySQL以存储基本应用程序模型,我建议您尝试使用MongoDB,Riak或CouchDB作为文档存储。 文档存储将数据管理为类似于JSON对象的东西(我知道它是一个巨大的捷径)。
如果您想要know more about popular nosql databases,请阅读本文。
Node.js为V8 JavaScript引擎提供异步I / O. 运行节点服务器时,它会侦听计算机上的端口(例如3000)。它不执行任何类型的域名解析和虚拟主机处理,因此您必须使用具有Apache或nginx等代理的http服务器。
在生产中选择nginx是性能问题,我觉得它更容易使用。但我建议你使用最适合的那个。
要开始使用它,只需安装它们并开始使用它。 HowToNode
答案 2 :(得分:3)
您可以从https://redistogo.com/获得免费计划 - 它是托管的redis数据库实例。
此处提供了redis数据类型和基本命令的快速介绍 - http://redis.io/topics/data-types-intro。
很好地比较何时使用此处的内容 - http://playbook.thoughtbot.com/choosing-platforms/databases/