Получим значение нескольких полей с помощью метода 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: