для того, чтобы одно или несколько приложений делились данными друг с другом.
Я нахожу это настолько полезным, что посвящу этому небольшой фрагмент этой
книги.
Исходный код драйвера Python redis-py и тесты находятся на GitHub (https://
github.com/andymccurdy/redis-py), вы также можете найти документацию по нему
(http://bit.ly/redis-py-docs). Можно установить этот драйвер с помощью следующей
команды:
$ pip install redis
Сам по себе сервер Redis (http://redis.io/) хорошо задокументирован. Если вы
установите и запустите его на своем локальном компьютере, который имеет се-
тевое имя localhost, можете попробовать запустить программы из следующих
разделов.
Строки
Ключ, имеющий одно значение, является строкой Redis. Простые типы данных
Python автоматически преобразовываются. Подключимся к серверу Redis, рас-
положенному на некотором хосте (по умолчанию localhost) и порте (по умолча-
нию 6379):
>>> import redis
>>> conn = redis.Redis()
Строки redis.Redis('localhost') или redis.Redis('localhost', 6379) дадут тот же
результат.
Перечислим все ключи (которых пока нет):
>>> conn.keys('*')
[]
Создадим простую строку (с ключом 'secret'), целое число (с ключом 'carats')
и число с плавающей точкой (с ключом 'fever'):
>>> conn.set('secret', 'ni!')
True
Хранилища данных NoSQL
247
>>> conn.set('carats', 24)
True
>>> conn.set('fever', '101.5')
True
Получим значения согласно заданным ключам:
>>> conn.get('secret')
b'ni!'
>>> conn.get('carats')
b'24'
>>> conn.get('fever')
b'101.5'
Метод setnx() устанавливает значение, но только если ключа не существует:
>>> conn.setnx('secret', 'icky-icky-icky-ptang-zoop-boing!')
False
Метод не сработал, поскольку мы уже определили ключ 'secret':
>>> conn.get('secret')
b'ni!'
Метод getset() возвращает старое значение и одновременно устанавливает
новое: