Установка

Это руководство шаг за шагом проведет вас через процесс создания Redis клиента и сервера. Мы начнем с основ асинхронного программирования на Rust и будем постепенно углубляться. Мы реализуем подмножество команд Redis, но получим комплексный обзор Tokio.

Mini-Redis

Проект, который вы будете создавать в этом руководстве, доступен как Mini-Redis на GitHub. Mini-Redis разработан с основной целью изучения Tokio и поэтому хорошо прокомментирован, но это также означает, что Mini-Redis отсутствуют некоторые функции, которые вы хотели бы видеть в реальной Redis-библиотеке. Вы можете найти готовые к использованию в production Redis-библиотеки на crates.io.

Мы будем напрямую использовать Mini-Redis в этом руководстве. Это позволяет нам использовать части Mini-Redis в руководстве до того, как мы реализуем их позже.

Получение помощи

В любой момент, если вы застряли, вы всегда можете получить помощь в Discord или обсуждениях на GitHub. Не беспокойтесь о задавании "начальных" вопросов. Мы все с чего-то начинали и рады помочь.

Предварительные требования

Читатели должны уже быть знакомы с Rust. Книга по Rust — отличный ресурс для начала.

Хотя это и не обязательно, некоторый опыт написания сетевого кода с использованием стандартной библиотеки Rust или другого языка может быть полезен.

Знание Redis не требуется.

Rust

Прежде чем начать, убедитесь, что у вас установлен и готов к работе набор инструментов Rust. Если у вас его нет, самый простой способ установить — использовать rustup.

Это руководство требует минимальной версии Rust 1.45.0, но рекомендуется использовать последнюю стабильную версию Rust.

Чтобы проверить, установлен ли Rust на вашем компьютере, выполните:

$ rustc --version

Вы должны увидеть вывод примерно такой: rustc 1.46.0 (04488afe3 2020-08-24).

Сервер Mini-Redis

Далее установите сервер Mini-Redis. Он будет использоваться для тестирования нашего клиента по мере его создания.

$ cargo install mini-redis

Убедитесь, что установка прошла успешно, запустив сервер:

$ mini-redis-server

Затем в отдельном окне терминала попробуйте получить ключ foo с помощью mini-redis-cli:

$ mini-redis-cli get foo

Вы должны увидеть (nil).

Все готово

Вот и все, все готово к работе. Перейдите на следующую страницу, чтобы написать свое первое асинхронное приложение на Rust.