redis
Подключение к redis с использованием Python
Поиск…
Вступление
Для подключения к Redis в Python требуется использование клиентской библиотеки. Для Python существует много разных клиентских библиотек, но redis-py - один из самых популярных клиентов.
После установки клиентской библиотеки вы можете получить доступ к Redis в своем приложении, импортировав соответствующий модуль, установив соединение и выполнив команду.
замечания
Чтобы подключиться к redis с помощью python, вам нужно установить клиент . Вы можете установить с помощью pip, используя:
pip install redis
это установит redis-py
Возможно, вы захотите установить hiredis-py, который делегирует синтаксический анализ сообщений протокола клиенту C hiredis. Это может обеспечить значительное улучшение производительности во многих ситуациях. Вы можете установить hiredis с помощью pip, выполнив:
pip install hiredis
Добавить элемент в список
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.lpush('myqueue','myelement')
Добавление полей в хэш
В Redis (HSET и HMSET) есть две основные функции: добавление полей в хэш-ключ. Обе функции доступны в redis-py.
Использование HSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hset('my_key', 'field0', 'value0')
Использование HMSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hmset('my_key', {'field0': 'value0', 'field1':'value1', 'field2':'value2'}
Настройка подключения к Redis
Клиент redis-py предоставляет два класса StrictRedis
и Redis
для установления базового соединения с базой данных Redis. Класс Redis
предоставляется для обратной совместимости, а новые проекты должны использовать класс StrictRedis
.
Одним из рекомендуемых способов установления соединения является определение параметров соединения в словаре и передача словаря в конструктор StrictRedis
с использованием синтаксиса **
.
conn_params = {
"host": "myredis.somedomain.com",
"port": 6379,
"password": "sekret",
"db": 0
}
r = redis.StrictRedis(**config)
Создание транзакции
Вы можете установить транзакцию, вызвав метод pipeline
на StrictRedis
. Команды Redis, выполненные против транзакции, выполняются в одном блоке.
# defaults to transaction=True
tx = r.pipeline()
tx.hincrbyfloat(debit_account_key, 'balance', -amount)
tx.hincrbyfloat(credit_account_key, 'balance', amount)
tx.execute()
Выполнение команд напрямую
Redis-py предоставляет метод execute_command
для непосредственного вызова операций Redis. Эта функция может использоваться для доступа к любым модулям, которые не могут иметь поддерживаемый интерфейс в клиенте redis-py. Например, вы можете использовать команду execute_command
для отображения всех модулей, загруженных на сервер Redis:
r.execute_command('MODULE', 'LIST')