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