Как разработчик LAMP начинает использовать решение Redis / Node.js? - PullRequest
3 голосов
/ 30 августа 2011

Я пришел из клише PHP и MySQL на Dreamhost. НО! Я также являюсь javascript jenie, и мне не терпелось сесть на поезд Node.js. В моем чтении я случайно обнаружил решение NoSQL под названием Redis!

С моим общим веб-хостом и ограниченным опытом работы с сервером (я знаю, как установить Linux на одну из моих старых библиотек dell и у меня есть базовые права администратора сервера), как я могу начать использовать Redis и Node.js? и следующий лучший вопрос - зачем вообще использовать Redis? В какой ситуации Redis будет лучше, чем MySQL? И устраняет ли Node.js необходимость в Apache? Если да, то почему разработчики рекомендуют использовать сервер NGINX?

Множество вопросов, но, кажется, нет надежного источника с этой информацией в одном месте!

Еще раз спасибо за ваше руководство и обратную связь!

Ответы [ 3 ]

6 голосов
/ 30 августа 2011

NoSQL - просто неадекватное модное слово.

Я попытаюсь ответить на последнюю часть вопроса.

Redis - это система баз данных хранилища ключей и значений. Скорость является ее основной целью, поэтому большая часть ее использования исходит из реализаций, управляемых событиями (как это описано в руководстве по reddit).

Превосходно в таких областях, как ведение журнала, транзакции сообщений и другие реактивные процессы.

С другой стороны, Node.js предназначен в основном для независимых HTTP-транзакций. Он в основном используется для обслуживания контента (очень похоже на веб-сервер, но Node.js действительно не обязательно должен быть общедоступным) очень быстро, что делает его полезным для серверных приложений бизнес-логики.

Например, если программа C рассчитывает стоимость акций, а Node.js служит для передачи содержимого другому внутреннему приложению для извлечения или использования Node.js для обслуживания веб-страницы, которую разрабатывает каждый, чтобы коллеги могли просматривать ее внутри.

Это действительно выдающийся посредник между приложениями.

4 голосов
/ 30 августа 2011

Redis

Redis - это хранилище данных в памяти: все ваши данные хранятся в памяти, что означает, что огромная база данных означает огромное использование памяти, но с очень быстрым доступом и поиском.

Это также хранилище ключей-значений: у вас нет ни рекламных агентств, ни запросов на получение ваших данных. Вы можете установить только пару ключ-значение и получить ее по ее идентификатору. (Redis также предоставляет полезные типы, такие как наборы и хэши).

Эти особенности делают Redis действительно хорошо подходящим для хранения сеансов в веб-приложении, создания индексов в базе данных, обработки данных в реальном времени, таких как аналитика.

Так что если вам нужно что-то, что «заменит» MySQL для хранения ваших базовых моделей приложений, я предлагаю вам попробовать что-то вроде MongoDB, Riak или CouchDB, которые являются хранилищем документов. Хранение документов управляет вашими данными как чем-то аналогичным объектам JSON (я знаю, что это огромный ярлык).

Прочтите эту статью, если хотите узнать больше о популярных базах данных nosql .

Node.js

Node.js обеспечивает асинхронный ввод-вывод для механизма JavaScript V8. Когда вы запускаете сервер узла, он прослушивает порт на вашей машине (например, 3000). Он не выполняет никакого разрешения имен доменов и обработки виртуальных хостов, поэтому вам нужно использовать http-сервер с прокси-сервером, например Apache или nginx.

Выбор nginx на производстве - это вопрос производительности, и я считаю, что его проще использовать. Но я предлагаю вам использовать тот, который вам наиболее удобен.

Чтобы начать с ним, просто установите их и начните играть с ним. HowToNode

3 голосов
/ 30 августа 2011

Вы можете получить бесплатный тариф от https://redistogo.com/ - это размещенный экземпляр базы данных Redis.

Краткое введение в типы данных и основные команды доступно здесь - http://redis.io/topics/data-types-intro.

Хорошее сравнение того, когда использовать то, что здесь - http://playbook.thoughtbot.com/choosing-platforms/databases/

...