Что за бред? зачем его выложили если его нельзя закончить??? Тогда уберите бесплатность курса! Или надо жаловаться администрации сайта на вас? |
Введение
Лицензия
The Little Redis Book (Маленькая книга о Redis) распространяется под лицензией Attribution-NonCommercial 3.0 Unported. Вы не обязаны платить за эту книгу.
Вы можете свободно копировать, распространять, изменять и публиковать книгу. Тем не менее, я прошу, чтобы вы всегда указывали мое, Карла Сегуина (Karl Seguin), авторство и не использовали книгу в коммерческих целях.
Полный текст лицензии вы можете найти по ссылке.
Об авторе
Карл Сегуин - разработчик, имеющий опыт работы в разных областях и с разными \linebreak технологиями. Активный участник проектов Открытого/Свободного ПО, технический \linebreak писатель и участник различных конференций. Является автором различных статей о Redis и нескольких утилит для работы с этой системой. На Redis работает система ранжирования и статистики на его бесплатном сервисе для разработчиков казуальных игр - .
Карл написал The Little MongoDB Book, популярную бесплатную книгу о MongoDB.
Вы можете найти его блог по адресу http://openmymind.net, а также следить за ним в Twitter: .
Благодарности
Особая благодарность выражается Перри Нилу за его зоркий взгляд, ум и страсть. Ты оказал мне неоценимую помощь. Спасибо.
Перевод
Данный перевод выполнен с целью популяризации Redis среди русскоговорящих \linebreak разработчиков. Книга является очень удобным и компактным руководством.
Актуальная версия
Актуальная версия английского варианта книги доступна в репозитории Карла.
Последнюю версию перевода на русский язык можно найти по адресу.
\clearpage
За последние пару лет технологии и средства хранения и доступа к данным развивались невероятными темпами. Можно с уверенностью сказать, что реляционные базы данных не собираются исчезать, но в то же время мы видим, что экосистема вокруг данных уже никогда не будет прежней.
Из всех новых инструментов и решений, для меня, Redis оказался наиболее интересным. Почему? Во-первых, по причине невероятной простоты изучения. Час является самой подходящей единицей измерения, когда мы говорим о времени, необходимом для ознакомления с Redis. Во-вторых, эта система решает специфический класс задач, будучи в то же время достаточно универсальной. Что это значит? Redis не пытается охватить весь спектр задач, касающихся работы с данными. По мере знакомства с Redis будет все более очевидно, что может и чего не может эта система. И, если Redis может что-либо, для вас, как для разработчика, это будет приятным опытом.
Вы можете построить целое приложение, используя только Redis. Однако, я думаю, что большинство людей обнаружит, что Redis дополняет их классическое решение для работы с даными, будь то реляционная СУБД, документо-ориентированная система или что-то еще. Это тот тип систем, которые вы используете для решения специфических задач. В этом смысле Redis близок к индексирующему движку. Вы не будете писать ваше приложение полностью на Lucene, но если вам нужна хорошая система поиска, она подарит вам полезный опыт. Конечно, сходства между Redis и поисковыми движками на этом заканчиваются.
Цель этой книги - построить базис, необходимый для работы с Redis. Мы сфокусируем наши усилия на изучении пяти структур данных Redis и рассмотрим различные подходы к моделированию. Также, затронем некоторые ключевые вопросы администрирования и техники отладки.
Начало работы
Мы все учимся по-разному: кто-то предпочитает собственный опыт, кто-то смотрит видео, кто-то читает. Ничто не поможет вам понять Redis лучше, чем собственный опыт. Redis легко устанавливается, и в комплект установки входит простая командная оболочка, предоставляющая все необходимые возможности. Давайте потратим пару минут на то, чтобы установить и запустить Redis у себя на компьютере.
В Windows
Redis официально не поддерживает Windows, но есть возможности запустить ее на этой системе. Вы вряд ли станете так делать на рабочем сервере, но во время разработки я не сталкивался с какими-либо ограничениями.
Сначала перейдите на https://github.com/dmajkic/redis/downloads и скачайте последнюю версию (вверху списка).
Распакуйте архив и, в зависимости от архитектуры вашего компьютера, откройте \linebreak директорию 64bit или 32bit.
В *nix и MacOSX
Для пользователей *nix и Mac, сборка Redis из исходников является лучшим вариантом. Инструкции, вместе с номером последней версии, доступны по адресу http://redis.io/download. На момент написания этих строк последней версией является 2.4.6. Для \linebreak установки выполните:
wget http://redis.googlecode.com/files/redis-2.4.6.tar.gz tar xzf redis-2.4.6.tar.gz cd redis-2.4.6 make
(В качестве альтернативы, Redis доступна через различные менеджеры пакетов. \linebreak Например, пользователи MacOSX с установленным Homebrew могут просто выполнить команду brew install redis.) (Установка через менеджер пакетов может оказаться гораздо более \linebreak удачным решением с точки зрения сохранения правильной конфигурации вашей системы - прим. перев.)
Если вы собрали систему из исходных текстов, исполняемые файлы можно найти в \linebreak директории src. Перейдите в эту директорию, введя команду cd src.
Запуск и Подключение к Redis
Если все прошло успешно, исполняемые файлы Redis должны быть в вашем распоряжении. Redis имеет множество исполняемых файлов. Мы сосредоточимся на сервере и командной оболочке (DOS-подобный клиент). Давайте начнем с сервера. В Windows, двойным кликом запустите redis-server. В *nix/MacOSX выполните команду ./redis-server в \linebreak терминале.
Если вы прочитаете стартовое сообщение, вы увидите предупреждение о том, что файл redis.conf не обнаружен. Вместо этого Redis воспользуется настройками по умолчанию, что вполне подойдет для наших целей.
Далее, запустите командную оболочку Redis двойным кликом на redis-cli (Windows) или командой ./redis-cli (*nix/MacOSX). Таким образом создастся подключение к локальному серверу на 6379-м TCP-порту по умолчанию.
Вы можете убедиться, что все работает, введя команду info в командную строку. Вы должны увидеть множество пар ключ-значение, которые предоставляют большое \linebreak количество информации о состоянии сервера.
Если у вас возникли проблемы с выполнением описанных выше действий, я рекомендую поискать помощь на официальных форумах поддержки Redis.
Драйверы Redis
Как вы скоро узнаете, API Redis лучше всего описать как набор функций в простом \linebreak процедурном стиле. Это значит, что, используете ли вы командную оболочку или драйвер вашего любимого языка программирования, все работает одинаково. Следовательно, у вас не должно возникнуть проблем, если вы решите работать посредством языка \linebreak программирования. Если хотите, зайдите на страницу со списком клиентов и скачайте необходимый драйвер.
\clearpage