Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 193

b'a note to follow re'

Получим значение нескольких полей с помощью метода hmget():

>>> conn.hmget('song', 're', 'do')

[b'about a deer', b'a deer']

Получим ключи всех полей хеша с помощью метода hkeys():

>>> conn.hkeys('song')

[b'do', b're', b'mi']

Получим значения всех полей хеша с помощью метода hvals():

>>> conn.hvals('song')

[b'a deer', b'about a deer', b'a note to follow re']

Получим количество полей хеша с помощью функции hlen():

>>> conn.hlen('song')

3

Получим ключи и значения всех полей хеша с помощью метода hgetall():

>>> conn.hgetall('song')

{b'do': b'a deer', b're': b'about a deer', b'mi': b'a note to follow re'}

Создадим поле, если его ключ не существует, с помощью метода hsetnx():

>>> conn.hsetnx('song', 'fa', 'a note that rhymes with la')

1

Множества

Множества Redis похожи на множества Python, как вы можете увидеть в следу-

ющих примерах.

Добавим одно или несколько значений множества:

>>> conn.sadd('zoo', 'duck', 'goat', 'turkey')

3

Получим количество значений множества:

>>> conn.scard('zoo')

3

Получим все значения множества:

>>> conn.smembers('zoo')

{b'duck', b'goat', b'turkey'}

Хранилища данных NoSQL

251

Удалим значение из множества:

>>> conn.srem('zoo', 'turkey')

True

Создадим второе множество, чтобы продемонстрировать некоторые операции:

>>> conn.sadd('better_zoo', 'tiger', 'wolf', 'duck')

0

Пересечение множеств (получение общих членов) zoo и better_zoo:

>>> conn.sinter('zoo', 'better_zoo')

{b'duck'}

Выполним пересечение множеств zoo и better_zoo и сохраним результат в мно-

жестве fowl_zoo:

>>> conn.sinterstore('fowl_zoo', 'zoo', 'better_zoo')

1

Есть кто живой?

>>> conn.smembers('fowl_zoo')

{b'duck'}

Выполним объединение (всех членов) множеств zoo и better_zoo: