Pós-Graduação: Especialização em Data Science & Big Data

Pontifícia Universidade Católica de Minas Gerais (PUC-MG)

Victor Hugo Negrisoli - Bancos de Dados Relacionais e Não Relacionais

Integração de banco de dados Chave-Valor Redis com Python
In [50]:
import redis
In [51]:
host = 'localhost'
port = 6379
db = redis.StrictRedis(host = host,
                         port = port,
                         charset = 'utf-8',
                         decode_responses = True,
                         db = 0)
Inserindo e lendo chaves e valores ao Redis
In [95]:
# O comando flushall irĂ¡ remover todas as chaves de todos os bancos de dados no Redis

db.flushall()
db.set('Key 1', 'Value 1')
Out[95]:
True
In [96]:
db.get('Key 1')
Out[96]:
'Value 1'
In [97]:
# Inserindo uma lista de chave e valores utilizando List Comprehension

keys = ['Key ' + str(i) for i in range(0, 50)]
values = ['Value ' + str(i) for i in range(50, 0, -1)]

if (len(keys) == len(values)):
    for i in range(len(keys)):
        print('Key: {}, Value: {}'.format(str(keys[i]), str(values[i])))
        db.set(keys[i], values[i])
Key: Key 0, Value: Value 50
Key: Key 1, Value: Value 49
Key: Key 2, Value: Value 48
Key: Key 3, Value: Value 47
Key: Key 4, Value: Value 46
Key: Key 5, Value: Value 45
Key: Key 6, Value: Value 44
Key: Key 7, Value: Value 43
Key: Key 8, Value: Value 42
Key: Key 9, Value: Value 41
Key: Key 10, Value: Value 40
Key: Key 11, Value: Value 39
Key: Key 12, Value: Value 38
Key: Key 13, Value: Value 37
Key: Key 14, Value: Value 36
Key: Key 15, Value: Value 35
Key: Key 16, Value: Value 34
Key: Key 17, Value: Value 33
Key: Key 18, Value: Value 32
Key: Key 19, Value: Value 31
Key: Key 20, Value: Value 30
Key: Key 21, Value: Value 29
Key: Key 22, Value: Value 28
Key: Key 23, Value: Value 27
Key: Key 24, Value: Value 26
Key: Key 25, Value: Value 25
Key: Key 26, Value: Value 24
Key: Key 27, Value: Value 23
Key: Key 28, Value: Value 22
Key: Key 29, Value: Value 21
Key: Key 30, Value: Value 20
Key: Key 31, Value: Value 19
Key: Key 32, Value: Value 18
Key: Key 33, Value: Value 17
Key: Key 34, Value: Value 16
Key: Key 35, Value: Value 15
Key: Key 36, Value: Value 14
Key: Key 37, Value: Value 13
Key: Key 38, Value: Value 12
Key: Key 39, Value: Value 11
Key: Key 40, Value: Value 10
Key: Key 41, Value: Value 9
Key: Key 42, Value: Value 8
Key: Key 43, Value: Value 7
Key: Key 44, Value: Value 6
Key: Key 45, Value: Value 5
Key: Key 46, Value: Value 4
Key: Key 47, Value: Value 3
Key: Key 48, Value: Value 2
Key: Key 49, Value: Value 1
In [98]:
# Listando todas as chaves que foram salvas no Redis

chaves = db.keys()
In [99]:
# Listando todos os valores

for chave in chaves:
    print(chave + ': ' + db.get(chave))
Key 2: Value 48
Key 3: Value 47
Key 4: Value 46
Key 5: Value 45
Key 6: Value 44
Key 7: Value 43
Key 8: Value 42
Key 9: Value 41
Key 10: Value 40
Key 11: Value 39
Key 30: Value 20
Key 12: Value 38
Key 31: Value 19
Key 13: Value 37
Key 32: Value 18
Key 14: Value 36
Key 33: Value 17
Key 15: Value 35
Key 34: Value 16
Key 16: Value 34
Key 35: Value 15
Key 17: Value 33
Key 36: Value 14
Key 18: Value 32
Key 37: Value 13
Key 19: Value 31
Key 38: Value 12
Key 39: Value 11
Key 20: Value 30
Key 21: Value 29
Key 40: Value 10
Key 22: Value 28
Key 41: Value 9
Key 23: Value 27
Key 42: Value 8
Key 24: Value 26
Key 43: Value 7
Key 25: Value 25
Key 44: Value 6
Key 26: Value 24
Key 45: Value 5
Key 27: Value 23
Key 46: Value 4
Key 28: Value 22
Key 47: Value 3
Key 29: Value 21
Key 48: Value 2
Key 49: Value 1
Key 0: Value 50
Key 1: Value 49
In [100]:
# Inserindo uma lista como valor

value1 = [x for x in range(0, 10)]
value2 = [x for x in range(10, 100)]
value3 = [x for x in range(100, 500)]
value4 = [x for x in range(500, 1500)]

db.set('List 1', str(value1))
db.set('List 2', str(value2))
db.set('List 3', str(value3))
db.set('List 4', str(value4))
Out[100]:
True
In [101]:
db.get('List 1')
Out[101]:
'[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]'
Atualizando e removendo chaves e valores
In [102]:
valor_anterior = db.get('List 1')
print('Anterior: ' + valor_anterior)

db.set('List 1' , '[1, 5, 6, 7, 8, 9]')

valor_atualizado = db.get('List 1')
print('Atualizado: ' + valor_atualizado)
Anterior: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Atualizado: [1, 5, 6, 7, 8, 9]
In [103]:
# Removendo uma chave

db.delete('List 1')
Out[103]:
1
In [104]:
print(db.get('List 1'))
None
In [105]:
db.flushdb()
Out[105]:
True
In [106]:
db.keys()
Out[106]:
[]