EddyGiusepe commited on
Commit
b5cc5c3
·
1 Parent(s): 409e019

BD redis-cli 🎲

Browse files
Files changed (1) hide show
  1. redis_client.py +74 -0
redis_client.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Data Scientist.: PhD.Eddy Giusepe Chirinos Isidro
3
+
4
+ redis_client.py
5
+ ===============
6
+ Objetivo: Este script é um módulo para a gestão de
7
+ dados no redis. Para realizar esses processo
8
+ criamos uma classe 🤗!
9
+
10
+ Versão: 1.0.0
11
+ Data: 27/06/2023
12
+ Autor: Dr.Eddy Giusepe
13
+
14
+ Método de execução:
15
+ $ uvicorn main:app --reload
16
+ """
17
+ import redis, json
18
+ from redis.exceptions import ConnectionError
19
+
20
+ class RedisClient:
21
+ """Com esta classe fazemos as gestão do redis."""
22
+
23
+ def __init__(self, host, port):
24
+ self.host = host
25
+ self.port = port
26
+ self.redis = redis.Redis(host=self.host, port=self.port)
27
+
28
+ def set(self, key, value): # key, que é a chave que será usada para armazenar o valor. value --> é um vetor.
29
+ """Está função armazena um valor no objeto 'self.redis',
30
+ usando a chave key"""
31
+ try:
32
+ self.redis.set(key, json.dumps(value)) # A função json.dumps() é usada para converter o valor em uma string JSON.
33
+ except ConnectionError:
34
+ print("Connection Error")
35
+
36
+ def get(self, key): # key é a chave usada para recuperar o valor.
37
+ """Função usada para obter o valor armazenado no
38
+ objeto self.redis usando a chave key"""
39
+ try:
40
+ return json.loads(self.redis.get(key)) # O valor retornado por self.redis.get(key) é uma representação em string do valor armazenado.
41
+ except ConnectionError:
42
+ print("Connection Error")
43
+
44
+ def delete(self, key):
45
+ """Função que elimina um dado, isso é feito através
46
+ da key"""
47
+ try:
48
+ self.redis.delete(key)
49
+ except ConnectionError:
50
+ print("Connection Error")
51
+
52
+ def exists(self, key):
53
+ """Esta função verifica a existência de certo dado,
54
+ em nosso caso a existência do Embedding."""
55
+ try:
56
+ return self.redis.exists(key)
57
+ except ConnectionError:
58
+ print("Connection Error")
59
+
60
+ def keys(self, pattern): # pattern = "*" # O parâmetro pattern é um padrão usado para buscar chaves.
61
+ """Esta função serve para poder obter todos nossos dados.
62
+ Em nosso caso para obter todos os Embeddings."""
63
+ try:
64
+ return self.redis.keys(pattern)
65
+ except ConnectionError:
66
+ print("Connection Error")
67
+
68
+ def flush(self):
69
+ """Função que nos permite eliminar toda a
70
+ informação que está no redis."""
71
+ try:
72
+ self.redis.flushall()
73
+ except ConnectionError:
74
+ print("Connection Error")