Skip to content

Commit 9da7ecd

Browse files
author
Andrew Kondratovich
committed
Merge pull request akandratovich#24 from saippuakauppias/master
Исправления и русская обложка
2 parents 90dc993 + 527ae8a commit 9da7ecd

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

ru/redis.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ The Little Redis Book (Маленькая книга о Redis) распрост
5757

5858
## Введение
5959

60-
За последние пару лет технологии и средства хранения и доступа к данным развивались невероятными темпами. Можно с уверенностью говорить, что реляционные базы данных не собираются исчезать, но в то же время мы видим, что экосистема вокруг данных уже никогда не будет прежней.
60+
За последние пару лет технологии и средства хранения и доступа к данным развивались невероятными темпами. Можно с уверенностью сказать, что реляционные базы данных не собираются исчезать, но в то же время мы видим, что экосистема вокруг данных уже никогда не будет прежней.
6161

6262
Из всех новых инструментов и решений, для меня, Redis оказался наиболее интересным. Почему? Во-первых, по причине невероятной простоты изучения. Час является самой подходящей единицей измерения, когда мы говорим о времени, необходимом для \linebreak ознакомления с Redis. Во-вторых, эта система решает специфический класс задач, будучи в то же время достаточно универсальной. Что это значит? Redis не пытается охватить весь спектр задач, касающихся работы с данными. По мере знакомства с Redis будет все более очевидно, что может и чего не может эта система. И, если Redis может что-либо, для вас, как для разработчика, это будет приятным опытом.
6363

@@ -241,7 +241,7 @@ Redis использует знакомую всем концепцию базы
241241

242242
Как вы можете догадаться, строки Redis отлично подходят для аналитики. Попробуйте инкрементировать значение `users:leto` (не-числовое) и посмотреть, что получится (вы должны получить ошибку).
243243

244-
Более сложным примером будут команды `setbit` и `getbit`. Есть [замечательный пост](http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/) о том, как Spool (*Spool - автор поста, на который ссылаются выше - прим. перев.*) использует эти две команды для эффективного ответа на вопрос «сколько уникальных посетителей было у нас сегодня?». Для 128 миллионов пользователей ноутбук генерирует ответ менее чем за 50 мс и использует всего лишь 16 МБ памяти.
244+
Более сложным примером будут команды `setbit` и `getbit`. Есть [замечательный пост](http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/) о том, как Spool (*Spool - приложение, на которое ссылаются выше - прим. перев.*) использует эти две команды для эффективного ответа на вопрос «сколько уникальных посетителей было у нас сегодня?». Для 128 миллионов пользователей ноутбук генерирует ответ менее чем за 50 мс и использует всего лишь 16 МБ памяти.
245245

246246
Не так уж важно понимание того, как работают битовые маски и как Spool использует их, но важно понять, что строки в Redis являются гораздо более мощным инструментом, чем кажется на первый взгляд. Тем не менее, наиболее частыми примерами использования являются те, что мы видели выше: хранение объектов (простых или сложных) и счетчиков. Кроме того, поскольку получение значения по ключу настолько быстрая операция, строки часто используются для кеширования данных.
247247

@@ -452,7 +452,7 @@ Redis также поддерживает конвейерную обработ
452452
hincrby groups:99percent balance 9000000000
453453
exec
454454

455-
Наконец, Redis позволяет указывать ключ (или ключи) для отслеживания изменений, и применять транзакцию, если ключ(и) изменился(-лись). Это используется, когда вам нужно получить значения и исполнить код в зависимости от их в одной транзакции. В коде выше мы не смогли бы реализовать собственную команду `incr`, поскольку все команды исполняются вместе, когда вызывается `exec`. Мы не можем сделать так:
455+
Наконец, Redis позволяет указывать ключ (или ключи) для отслеживания изменений, и применять транзакцию, если ключ(и) изменился(-лись). Это используется, когда вам нужно получить значения и исполнить код в зависимости от них в одной транзакции. В коде выше мы не смогли бы реализовать собственную команду `incr`, поскольку все команды исполняются вместе, когда вызывается `exec`. Мы не можем сделать так:
456456

457457
redis.multi()
458458
current = redis.get('powerlevel)
@@ -579,7 +579,7 @@ Redis позволяет назначать ключам срок существ
579579

580580
sadd watch:leto 12339 1382 338 9338
581581

582-
Удобно будет сортировать по идентификатору (что по умолчанию и произойдет), но нам также хотелось бы сортировать по критичности ошибки. Чтобы это сделать, мы указываем Redis, по какому шаблону сортировать. Сначала, давайте добавим больше данных, чтобы увидеть значимые результаты:
582+
Удобно будет сортировать по идентификатору (что по умолчанию и произойдет), но нам также хотелось бы сортировать по критичности ошибки. Чтобы это сделать, мы указываем Redis, по какому шаблону проводить сортировку. Сначала, давайте добавим больше данных, чтобы увидеть значимые результаты:
583583

584584
set severity:12339 3
585585
set severity:1382 2
@@ -665,7 +665,7 @@ Redis можно настроить так, чтобы он требовал п
665665

666666
Redis поддерживает репликацию, которая означает, что все данные, которые попадают на один узел Redis (который называется master) будут попадать также и на другие узлы (называются slave). Для конфигурирования slave-узлов можно изменить опцию `slaveof` или выполнить аналогичную по написанию команду (узлы, запущенные без подобных опций являются master-узлами).
667667

668-
Репликация помогает защитить ваши данные, копируя их на другие сервера. Репликация также может быть использована для увеличения производительности, т.к. запросы на чтение могут обслуживаться slave-узлами. Эти узлы могу ответить слегка устаревшими данными, но для большинства приложений это приемлемо.
668+
Репликация помогает защитить ваши данные, копируя их на другие сервера. Репликация также может быть использована для увеличения производительности, т.к. запросы на чтение могут обслуживаться slave-узлами. Эти узлы могут ответить слегка устаревшими данными, но для большинства приложений это приемлемо.
669669

670670
К сожалению, система репликации Redis еще не поддерживает автоматическую \linebreak отказоустойчивость. Если master-узел выходит из строя, необходимо вручную выбрать новый из slave-узлов. Необходимо использовать традиционные утилиты, использующие мониторинг и специальные скрипты для переключения master-узлов, если вам необходима устойчивая к сбоям система.
671671

@@ -687,12 +687,12 @@ Redis поддерживает репликацию, которая означа
687687

688688
### В Этой Главе
689689

690-
Учитывая количество проектов, уже использующих Redis, не может быть никаких \linebreak сомнений, что эта система является пригодной для практического использования в \linebreak настоящий момент и уже была таковой некоторое время. Однако, некоторые инструменты, особенно касающиеся поддержания безопасности и доступности, все еще требуют \linebreak доработки. Redis Cluster, который мы надеемся увидеть в ближайшее время, должен помочь решить некоторые из существующих проблем администрирования.
690+
Учитывая количество проектов, уже использующих Redis, не может быть никаких \linebreak сомнений, что эта система является пригодной для практического использования в \linebreak настоящий момент. Однако, некоторые инструменты, особенно касающиеся поддержания безопасности и доступности, все еще требуют \linebreak доработки. Redis Cluster, который мы надеемся увидеть в ближайшее время, должен помочь решить некоторые из существующих проблем администрирования.
691691

692692
\clearpage
693693

694694
## Заключение
695695

696-
Redis использует множество способов облегчить наше взаимодействие с данными. Эта система убирает большую часть сложности и абстракции, присущих другим системам. Во многих случаях это делает Redis неудачным выбором. Но в других случаях может показаться, что Redis был написан для решения вашей конкретной проблемы.
696+
Redis использует множество способов облегчить наше взаимодействие с данными. Эта система убирает большую часть сложности и абстракции, присущих другим системам. Во многих случаях это делает Redis неудачным выбором. Но в других случаях может показаться, что Redis был написан для решения именно вашей проблемы.
697697

698698
В конечном итоге мы вернулись к тому, о чем я говорил в самом начале: Redis прост в освоении. Когда вокруг так много новых технологий, не просто понять, на изучение какой стоит потратить время. Когда вы увидите реальные преимущества, которые Redis может предложить, я уверен, что у вас не останется вопросов о том, уделять ли время на изучение Redis.

ru/title.png

4.34 KB
Loading

ru/title.psd

203 KB
Binary file not shown.

0 commit comments

Comments
 (0)