Как использовать Redis с Python

Как использовать Redis с Python

В этом руководстве вы узнаете, как использовать Python с Redis (произносится RED-iss или, может быть, https://groups.google.com/forum/#!topic./redis-db/MtwjZC5gCeE [REE -iss хранилище значений ключей, которое можно использовать для чего угодно, от A до Z. Вот что Seven Database in Seven Weeks, популярная книга о базах данных, может сказать о Redis:

_ _ Это не просто в использовании; это радость Если API является UX для программистов, тогда Redis должен находиться в Музее современного искусства рядом с Mac Cube.

И когда дело доходит до скорости, Redis трудно победить. Чтение выполняется быстро, а запись - еще быстрее, и некоторые тесты обрабатывают более 100 000 операций + SET + в секунду. (Https://realpython.com/asins/1680502530/[Source]) _ _

Заинтригованный? Этот учебник создан для программиста на Python, который может иметь опыт работы с Redis от нуля до небольшого. Мы рассмотрим сразу два инструмента и представим как сам Redis, так и одну из его клиентских библиотек Python, https://github.com/andymccurdy/redis-py [+ redis-py +].

+ redis-py + (который вы импортируете как просто + redis +) является одним из многих клиентов Python для Redis, но он отличается тем, что счет выставляется как Currently путь к Python » самими разработчиками Redis. Это позволяет вам вызывать команды Redis из Python и возвращать знакомые объекты Python взамен.

*В этом уроке вы расскажете* :
  • Установка Redis из исходного кода и понимание цели получаемых двоичных файлов

  • Изучение фрагмента самого Redis, включая его синтаксис, протокол и дизайн

  • Освоение + redis-py + и одновременное знакомство с реализацией протокола Redis

  • Настройка и связь с экземпляром сервера Amazon ElastiCache Redis

    *Бесплатный бонус:* ссылка: [Нажмите здесь, чтобы получить доступ к главе из Python Tricks: The Book], которая показывает вам лучшие практики Python с простыми примерами, которые вы можете применить мгновенно, чтобы написать более красивый + код Python.

Установка Redis из исходного кода

Как сказал мой прапрадедушка, ничто так не создает, как установка из исходного кода. В этом разделе описана загрузка, создание и установка Redis. Я обещаю, что это не повредит ни капли!

*Примечание* : этот раздел ориентирован на установку в Mac OS X или Linux. Если вы используете Windows, существует Microsoft https://github.com/MicrosoftArchive/redis[fork] Redis, который можно установить в качестве службы Windows. Достаточно сказать, что Redis как программа живет наиболее комфортно на Linux-машине, и что установка и использование в Windows могут быть очень сложными.

Сначала загрузите исходный код Redis в виде tarball:

$ redisurl="http://download.redis.io/redis-stable.tar.gz"
$ curl -s -o redis-stable.tar.gz $redisurl

Затем переключитесь на + root + и извлеките исходный код архива в /usr/local/lib/:

$ sudo su root
$ mkdir -p/usr/local/lib/
$ chmod a+w/usr/local/lib/
$ tar -C/usr/local/lib/-xzf redis-stable.tar.gz

При желании вы можете удалить сам архив:

$ rm redis-stable.tar.gz

Это оставит вас с хранилищем исходного кода в /usr/local/lib/redis-stable/. Redis написан на C, поэтому вам нужно скомпилировать, связать и установить с помощью утилиты + make +:

$ cd/usr/local/lib/redis-stable/
$ make && make install

Использование + make install + выполняет два действия:

  1. Первая команда + make + компилирует и связывает исходный код.

  2. Часть + make install + берет двоичные файлы и копирует их в /usr/local/bin/, чтобы вы могли запускать их из любого места (при условии, что /usr/local/bin/ находится в ` + путь + `).

Вот все шаги до сих пор:

$ redisurl="http://download.redis.io/redis-stable.tar.gz"
$ curl -s -o redis-stable.tar.gz $redisurl
$ sudo su root
$ mkdir -p/usr/local/lib/
$ chmod a+w/usr/local/lib/
$ tar -C/usr/local/lib/-xzf redis-stable.tar.gz
$ rm redis-stable.tar.gz
$ cd/usr/local/lib/redis-stable/
$ make && make install

В этот момент уделите немного времени, чтобы убедиться, что Redis находится в вашем + PATH +, и проверьте его версию:

$ redis-cli --version
redis-cli 5.0.3

Если ваша оболочка не может найти + redis-cli +, убедитесь, что /usr/local/bin/ находится в переменной окружения + PATH +, и добавьте ее, если нет.

В дополнение к + redis-cli +, + make install + фактически приводит к тому, что несколько исполняемых файлов (и одна символическая ссылка) помещаются в /usr/local/bin/:

$ # A snapshot of executables that come bundled with Redis
$ ls -hFG/usr/local/bin/redis-* | sort
/usr/local/bin/redis-benchmark*
/usr/local/bin/redis-check-aof*
/usr/local/bin/redis-check-rdb*
/usr/local/bin/redis-cli*
/usr/local/bin/redis-sentinel@
/usr/local/bin/redis-server*

Хотя все они имеют определенное предназначение, два из них, которые вам, вероятно, больше всего понадобятся, это + redis-cli + и + redis-server +, которые мы кратко опишем ниже. Но прежде чем мы доберемся до этого, необходимо настроить базовую конфигурацию.

Конфигурирование Redis

Redis легко настраивается. Несмотря на то, что он работает нормально из коробки, давайте потратим минуту, чтобы настроить некоторые параметры конфигурации, связанные с сохранением базы данных и базовой безопасностью:

$ sudo su root
$ mkdir -p/etc/redis/
$ touch/etc/redis/6379.conf

Теперь напишите следующее в +/etc/redis/6379.conf +. Мы рассмотрим, что большинство из них означает постепенно в течение всего урока

#/etc/redis/6379.conf

port              6379
daemonize         yes
save              60 1
bind              127.0.0.1
tcp-keepalive     300
dbfilename        dump.rdb
dir               ./
rdbcompression    yes

Конфигурация Redis является самодокументируемой, так как sample + redis.conf + file находится в источнике Redis для вашего удовольствия от чтения. Если вы используете Redis в производственной системе, стоит заблокировать все отвлекающие факторы и потратить время на то, чтобы полностью прочитать этот пример файла, чтобы ознакомиться с тонкостями Redis и настроить ваши настройки.

В некоторых руководствах, включая части документации Redis, также может быть предложено запустить сценарий оболочки + install_server.sh +, расположенный по адресу +redis/utils./install_server.sh + `. Вы обязательно можете использовать это в качестве более полной альтернативы вышеприведенному, но обратите внимание на несколько более тонких моментов, касающихся `+ install_server.sh +