Поиск…


Вступление

Для подключения к 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')


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow