LAMP 开发人员如何开始使用 Redis/Node.js 解决方案?

发布于 2024-12-02 01:26:08 字数 384 浏览 1 评论 0原文

我来自 Dreamhost 上 PHP 和 MySQL 的陈词滥调。但!我也是一名 javascript jenie,我一直渴望登上 Node.js 的列车。在我的阅读中,我无意中发现了一个名为 Redis 的 NoSQL 解决方案!

凭借我的共享 Web 主机和有限的服务器经验(我知道如何在我的一台旧戴尔机器上安装 Linux 并进行一些基本的服务器管理),我如何开始使用 Redis 和 Node.js?下一个最佳问题是——人们使用 Redis 做什么? Redis 比 MySQL 更适合什么情况? Node.js 是否消除了 Apache 的必要性?如果是这样,为什么开发人员建议使用 NGINX 服务器?

有很多问题,但似乎没有可靠的来源将这些信息全部集中在一个地方!

再次感谢您的指导和反馈!

I come from the cliche land of PHP and MySQL on Dreamhost. BUT! I am also a javascript jenie and I've been dying to get on the Node.js train. In my reading I've discovered inadvertently a NoSQL solution called Redis!

With my shared web host and limited server experience (I know how to install Linux on one of my old dell's and do some basic server admin) how can I get started using Redis and Node.js? and the next best question is -- what does one even use Redis for? What situation would Redis be better suited than MySQL? And does Node.js remove the necessity for Apache? If so why do developers recommend using NGINX server?

Lots of questions but there doesnt seem to be a solid source out there with this info all in one place!

Thanks again for your guidance and feedback!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜声 2024-12-09 01:26:08

NoSQL 只是一个不够充分的流行词。

我将尝试回答问题的后部分。

Redis 是一个键值存储数据库系统。速度是其主要目标,因此其大部分用途来自事件驱动的实现(正如其 reddit 教程中所述)。

它擅长日志记录、消息事务和其他反应过程等领域。

另一方面,Node.js 主要用于独立的 HTTP 事务。它基本上用于非常快速地提供内容(很像 Web 服务器,但 Node.js 不一定面向公众),这使得它对于后端业务逻辑应用程序非常有用。

例如,让 C 程序计算股票价值,并让 Node.js 为另一个内部应用程序提供内容以检索或使用 Node.js 为正在开发的网页提供服务,以便同事可以在内部查看它。

它确实非常适合作为应用程序之间的中间人。

NoSQL is just an inadequate buzz word.

I'll attempt to answer the latter part of the question.

Redis is a key-value store database system. Speed is its primary objective, so most of its use comes from event driven implementations (as it goes over in its reddit tutorial).

It excels at areas like logging, message transactions, and other reactive processes.

Node.js on the other hand is mainly for independent HTTP transactions. It is basically used to serve content (much like a web server, but Node.js really wouldn't be necessarily public facing) very fast which makes it useful for backend business logic applications.

For example, having a C program calculate stock values and having Node.js serve the content for another internal application to retrieve or using Node.js to serve a web page one is developing so one's coworkers can view it internally.

It really excels as a middleman between applications.

说谎友 2024-12-09 01:26:08

Redis

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

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

这些特性使得 Redis 非常适合在 Web 应用程序中存储会话、在数据库上创建索引、处理分析等实时数据。

因此,如果您需要一些东西来“取代”MySQL 来存储您的基本应用程序模型,我建议您尝试像 MongoDB、Riak 或 CouchDB 这样的文档存储。
文档存储将您的数据管理为类似于 JSON 对象的东西(我知道这是一个巨大的快捷方式)。

如果您想了解有关流行 nosql 数据库的更多信息,请阅读本文。

Node.js

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

在生产中选择 nginx 是一个性能问题,而且我发现它更容易使用。但我建议你使用你最舒服的那个。

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

Redis

Redis is an in-memory datastore : All your data are stored in the memory meaning that a huge database means huge memory usage, but with really fast access and lookup.

It is also a key-value store : You don't have any realtionships, or queries to retrieve your data. You can only set a key value pair, and retreive it by its id. (Redis also provides useful types such as sets and hashes).

These particularities makes Redis really well suited for storing sessions in a web application, creating indexes on a database, handling real-time data like analytics.

So if you need something that will "replace" MySQL for storing your basic application models I suggest you try something like MongoDB, Riak or CouchDB that are document store.
Document stores manages your data as something analogous to JSON objects (I know it's a huge shortcut).

Read this article if you want to know more about popular nosql databases.

Node.js

Node.js provides asynchrous I/O for the V8 JavaScript engine.
When you run a node server, it listens on a port on your machine (e.g. 3000). It does not do any sort of Domain name resolution and Virtual Host handling so you have to use a http server with a proxy such as Apache or nginx.

Choosing over nginx in production is a matter of performance, and I find it easier to use. But I suggest you use the one you're the most comfortable with.

To get started with it just install them and start playing with it. HowToNode

锦上情书 2024-12-09 01:26:08

您可以从 https://redistogo.com/ 获取免费计划 - 它是托管的 Redis 数据库实例。

Redis 数据类型和基本命令的快速介绍可以在这里 - http://redis.io/topics/数据类型介绍

关于何时使用这里的内容的一个很好的比较 - http://playbook.thoughtbot.com/choosing -平台/数据库/

You can get a free plan from https://redistogo.com/ - it is a hosted redis database instance.

Quick intro to redis data types and basic commands is available here - http://redis.io/topics/data-types-intro.

A good comparison of when to use what is here - http://playbook.thoughtbot.com/choosing-platforms/databases/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文