app.services.cache

Módulo que implementa um cache simples em memória.

Usado para armazenar resultados de classificações de textos já processados, evitando chamadas repetidas ao modelo de IA para o mesmo conteúdo.

Classes:

  • InMemoryCache: cache em memória baseado em dicionário Python.
 1"""
 2Módulo que implementa um cache simples em memória.
 3
 4Usado para armazenar resultados de classificações de textos
 5já processados, evitando chamadas repetidas ao modelo de IA
 6para o mesmo conteúdo.
 7
 8Classes:
 9- InMemoryCache: cache em memória baseado em dicionário Python.
10"""
11
12class InMemoryCache:
13    """
14    Classe que representa um cache em memória.
15
16    Armazena pares chave-valor, onde a chave geralmente
17    é o hash SHA-256 do texto processado.
18
19    Métodos:
20    - get(key): retorna o valor associado à chave ou None.
21    - set(key, value): salva o valor no cache para a chave dada.
22    """
23
24    def __init__(self):
25        """
26        Inicializa o dicionário interno do cache.
27        """
28        self.store = {}
29
30    def get(self, key):
31        """
32        Busca um valor no cache.
33
34        Args:
35            key (str): A chave a ser buscada.
36
37        Returns:
38            any: O valor armazenado ou None se não encontrado.
39        """
40        return self.store.get(key)
41
42    def set(self, key, value):
43        """
44        Armazena um valor no cache.
45
46        Args:
47            key (str): A chave única (ex: hash do texto).
48            value (any): O valor a ser armazenado.
49        """
50        self.store[key] = value
51
52# Instância global do cache para uso em toda a aplicação.
53cache = InMemoryCache()
class InMemoryCache:
13class InMemoryCache:
14    """
15    Classe que representa um cache em memória.
16
17    Armazena pares chave-valor, onde a chave geralmente
18    é o hash SHA-256 do texto processado.
19
20    Métodos:
21    - get(key): retorna o valor associado à chave ou None.
22    - set(key, value): salva o valor no cache para a chave dada.
23    """
24
25    def __init__(self):
26        """
27        Inicializa o dicionário interno do cache.
28        """
29        self.store = {}
30
31    def get(self, key):
32        """
33        Busca um valor no cache.
34
35        Args:
36            key (str): A chave a ser buscada.
37
38        Returns:
39            any: O valor armazenado ou None se não encontrado.
40        """
41        return self.store.get(key)
42
43    def set(self, key, value):
44        """
45        Armazena um valor no cache.
46
47        Args:
48            key (str): A chave única (ex: hash do texto).
49            value (any): O valor a ser armazenado.
50        """
51        self.store[key] = value

Classe que representa um cache em memória.

Armazena pares chave-valor, onde a chave geralmente é o hash SHA-256 do texto processado.

Métodos:

  • get(key): retorna o valor associado à chave ou None.
  • set(key, value): salva o valor no cache para a chave dada.
InMemoryCache()
25    def __init__(self):
26        """
27        Inicializa o dicionário interno do cache.
28        """
29        self.store = {}

Inicializa o dicionário interno do cache.

store
def get(self, key):
31    def get(self, key):
32        """
33        Busca um valor no cache.
34
35        Args:
36            key (str): A chave a ser buscada.
37
38        Returns:
39            any: O valor armazenado ou None se não encontrado.
40        """
41        return self.store.get(key)

Busca um valor no cache.

Args: key (str): A chave a ser buscada.

Returns: any: O valor armazenado ou None se não encontrado.

def set(self, key, value):
43    def set(self, key, value):
44        """
45        Armazena um valor no cache.
46
47        Args:
48            key (str): A chave única (ex: hash do texto).
49            value (any): O valor a ser armazenado.
50        """
51        self.store[key] = value

Armazena um valor no cache.

Args: key (str): A chave única (ex: hash do texto). value (any): O valor a ser armazenado.

cache = <InMemoryCache object>