Простой Python. Современный стиль программирования (Любанович) - страница 143

>>>> conn.lpush('zoo', 'bear')

>1

Добавим в начало списка более одного элемента:

>>>> conn.lpush('zoo', 'alligator', 'duck')

>3

Добавим один элемент до или после другого с помощью метода linsert():

>>>> conn.linsert('zoo', 'before', 'bear', 'beaver')

>4

>>>> conn.linsert('zoo', 'after', 'bear', 'cassowary')

>5

Добавим элемент, указав смещение для него, с помощью метода lset() (список уже должен существовать):

>>>> conn.lset('zoo', 2, 'marmoset')

>True

Добавим элемент в конец с помощью метода rpush():

>>>> conn.rpush('zoo', 'yak')

>6

Получим элемент по заданному смещению с помощью метода lindex():

>>>> conn.lindex('zoo', 3)

>b'bear'

Получим все элементы, находящиеся в диапазоне смещений, с помощью метода lrange() (можно использовать любой индекс от 0 до –1):

>>>> conn.lrange('zoo', 0, 2)

>[b'duck', b'alligator', b'marmoset']

Обрежем список с помощью метода ltrim(), сохранив только элементы в заданном диапазоне:

>>>> conn.ltrim('zoo', 1, 4)

>True

Получим диапазон значений (можно использовать любой индекс от 0 до –1) с помощью метода lrange():

>>>> conn.lrange('zoo', 0, -1)

>[b'alligator', b'marmoset', b'bear', b'cassowary']

В главе 10 будет показано, как использовать списки Redis и механизм публикации-подписки, чтобы реализовать очереди задач.

Хеши

Хеши Redis похожи на словари в Python, но они могут содержать только строки. Поэтому вы можете создать только одномерный словарь. Рассмотрим примеры, в которых создается и изменяется хеш с именем song.

Установим в хеше song значения полей do и re одновременно с помощью метода hmset():

>>>> conn.hmset('song', {'do': 'a deer', 're': 'about a deer'})

>True

Установим значение одного поля хеша с помощью метода hset():

>>>> conn.hset('song', 'mi', 'a note to follow re')

>1

Получим значение одного поля с помощью метода hget():

>>>> conn.hget('song', 'mi')

>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')