Рубрики
Без рубрики

Как использовать Redis с Python 3 и redis-py в Ubuntu 16.04

Пошаговые инструкции по установке Redis и использованию его с Python 3 и redis-py в Ubuntu 16.04 Xenial Xerus.

Автор оригинала: Matt Makai.

Redis – это пара ключ-значение в памяти Часто используемое хранилище данных NoSQL для сеансов веб-приложений, временные данные и в качестве брокера для очереди задач. redis-py – это общий код Python библиотека для взаимодействия с Redis. Давайте узнаем, как запустить Redis и работать в Ubuntu, а затем начать использовать его в простой Приложение Python.

Инструменты, которые нам нужны

Это руководство протестировано с Python 3.5, но либо Python 2 или 3 должен работать для всего написанного Вот. Просто убедитесь, что в вашей системе установлена ​​одна версия, перейдя в терминал и набрав python --version . Помимо самого Python, вот программное обеспечение, которое мы будем использовать в оставшейся части этого поста:

  • Ubuntu 16.04 (эти
  • инструкции должны работать и с более ранними версиями Ubuntu)
  • pip и
  • virtualenv для обработки
  • зависимость приложения redis-py
  • Redis
  • redis-py

Если вы не знаете, как установить pip и virtualenv, просмотрите первые несколько шагов как настроить Python 3, Flask и Green Unicorn на Ubuntu 16.04 LTS руководство.

Установите Redis

Есть несколько способов установить Redis, например загрузка и компиляция из исходного кода . Однако в Ubuntu мы можем установить системный пакет с помощью apt . В Преимущество этого метода в том, что процесс apt позаботится о установка redis-server в качестве системной службы. Откройте терминал и запустите следующая команда:

sudo apt-get install redis-server

Введите свой пароль sudo и, когда вам будет предложено, хотите ли вы чтобы установить новый пакет, введите «да».

Через несколько секунд загрузка и обработка должны быть завершены. и вы вернетесь в командной строке.

Redis установлен, и сервер Redis работает в фоновом режиме. как системная услуга. Несмотря на то, что мы установили пакет redis-server , установка также идет с клиентом командной строки Redis. Клиент полезен для прямого подключения к серверу Redis без Python код. Попробуйте redis-cli , набрав в командной строке:

redis-cli

Клиент Redis подключается к серверу localhost и выдает новое приглашение чтобы показать, что он готов к командам:

Попробуйте запросить подсказку с помощью команд Redis, таких как keys * или установить 1 . Полный список команд Redis представлен в документация по проекту .

Virtualenv и установка redis-py

Нам нужно определить наше местоположение python3 , затем создать виртуальный объект, активируйте virtualenv, а затем установите redis-py с помощью pip . Определите расположение исполняемого файла python3 с помощью команды which .

which python3

Вы увидите результат, как на следующем снимке экрана.

Создайте новый virtualenv либо в своем домашнем каталоге, либо где угодно сохраните ваш проект virtualenvs. Укажите полный путь к вашему python3 установка.

# specify the system python3 installation
virtualenv --python=/usr/bin/python3 venvs/redistest

Активируйте virtualenv.

source ~/venvs/redistest/bin/activate

Затем мы можем установить пакет Python redis-py из PyPI с помощью команды pip .

pip install redis

Хорошо, теперь он установлен в нашем virtualenv. Напишем несколько простых Код Python, который стоит попробовать, дайте redis-py!

Работа с Redis из Python

Запустите Python REPL с помощью команды python или python3 . Вы также можете напишите следующий код в файле Python, например testredis.py, затем выполнить его с помощью python testredis.py .

import redis
# create a connection to the localhost Redis server instance, by
# default it runs on port 6379
redis_db = redis.StrictRedis(host="localhost", port=6379, db=0)
# see what keys are in Redis
redis_db.keys()
# output for keys() should be an empty list "[]"
redis_db.set('full stack', 'python')
# output should be "True"
redis_db.keys()
# now we have one key so the output will be "[b'full stack']"
redis_db.get('full stack')
# output is "b'python'", the key and value still exist in Redis
redis_db.incr('twilio')
# output is "1", we just incremented even though the key did not
# previously exist
redis_db.get('twilio')
# output is "b'1'" again, since we just obtained the value from
# the existing key
redis_db.delete('twilio')
# output is "1" because the command was successful
redis_db.get('twilio')
# nothing is returned because the key and value no longer exist

Это краткое введение в некоторые часто используемые команды Redis. вызывается их привязками Python через библиотеку redis-py. Взглянуть на официальная документация redis-py чтобы узнать больше об обширном списке команд, который вы можете использовать для создания, читать, изменять и удалять ключи и значения в Redis.

Вопросов? Твитнуть @fullstackpython или разместите сообщение на Страница Full Stack Python на Facebook . Что-то не так в этом посте? Вилка источник этой страницы на GitHub и отправьте запрос на перенос.