REDIS — а зачем?

от автора

Приветствую читателей! Я уже довольно давно пишу на Python, но как мне кажется серьезно работать начал только в этом году. Раньше единственное чем было наполнено мое портфолио — простейшие telegram боты, парсеры и прочие программы которые делаются за пару часов и стоят на том же фрилансе от силы пару тысяч. Сейчас же я с головой погрузился в backend (Django, Flask) и сложных чат ботов. В следствии этого мне пришлось познакомиться с SQL, SQLITE, POSTGREE и так далее. Раньше мне казалось что это невероятно сложно, но как говориться: «Глаза бояться, а пальцы долбят по клаве», и через пару дней я уже спокойно писал SQL запросы. Позже я познакомился с ORM, и это наверное самая удобная вещь которую придумали для работы с базами данных. Но не об этом.

В процессе постижения таинств веб разработки и желания стать в ней профессионалом на просторах интернета я обнаружил информацию о неких NoSQL базах данных, а в частности Redis. Что? Зачем? Почему? Для чего? Вопросов изначально было довольно много, однако в процессе до меня начало доходить почему Redis — безумно классная вещь.

Redis хранит в себе данные в виде key:value, но сразу возникает закономерный вопрос, а как мы можем это применить в процессе разработки? Давайте разберем на банальном примере:

В этой статье я буду работать из терминала redis-cli, но если меня не закидают дизлайками 🙂 выпущу вторую часть где покажу как это работает в связке с фреймворком Django.

Для установки redis в linux:
sudo apt install redis-server
Для macOS:
brew install redis

После установки прописываем redis-cli, а затем проверяем работу redis командой ping.

Установка значения для ключа в redis происходит с помощью команды set.
Синтаксис: set key value

Для того что бы получить значение по ключу мы используем команду get.
Синтаксис: get key

Так же redis нам предоставляет возможность с помощью уже знакомой нам команды set изменять значение. Как вы могли заметить по примерам с картинок я пытался моделировать работу сайта — когда пользователь находиться онлайн в redis, где ключом является ник пользователя, записывается что пользователь в сети. Если же пользователь покидает сайт значения изменяется на offline.

Надеюсь что моя первая статья была хоть сколько то полезной и возможно кому то поможет.
Спасибо всем кто прочел мою статью, и если я где то допустил ошибки буду рад если вы на них укажите!

P.S. я знаю что offline пишется с двумя f.


ссылка на оригинал статьи https://habr.com/ru/post/705176/