>>> conn.incr('carats')
25
>>> conn.incr('carats', 10)
35
>>> conn.decr('carats')
34
>>> conn.decr('carats', 15)
19
>>> conn.set('fever', '101.5')
True
>>> conn.incrbyfloat('fever')
102.5
>>> conn.incrbyfloat('fever', 0.5)
103.0
Команды decrbyfloat() не существует. Используйте отрицательный инкремент, чтобы уменьшить значение ключа fever:
>>> conn.incrbyfloat('fever', -2.0)
101.0
Списки Redis могут содержать только строки. Список создается, когда вы добавляете первые данные. Добавим данные в начало списка с помощью метода lpush():
>>> 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 и механизм
Установим в хеше 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')
1
Множества Redis похожи на множества Python, как вы можете увидеть в следующих примерах.
Добавим одно или несколько значений множества:
>>> conn.sadd('zoo', 'duck', 'goat', 'turkey')
3
Получим количество значений множества:
>>> conn.scard('zoo')
3
Получим все значения множества:
>>> conn.smembers('zoo')
{b'duck', b'goat', b'turkey'}
Удалим значение из множества:
>>> conn.srem('zoo', 'turkey')
True
Создадим второе множество, чтобы продемонстрировать некоторые операции: