Установка
Это руководство шаг за шагом проведет вас через процесс создания 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.