Caffeine Cache
Saiba mais sobre o conector Caffeine Cache e como usá-lo na Digibee Integration Platform.
O Caffeine Cache usa a biblioteca Caffeine para armazenar dados na memória, garantindo acesso rápido. Ele ajuda a reduzir consultas ao banco de dados e acelera aplicações ao gerenciar automaticamente os dados armazenados com regras inteligentes de expiração e remoção. É ideal para armazenar respostas de APIs, resultados de consultas a bancos de dados e dados frequentemente utilizados.
Este conector usa a memória do pipeline. Se não for gerenciado corretamente, pode causar erros de “Out of Memory”.
Parâmetros
Dê uma olhada nos parâmetros de configuração do conector. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Aba General
Cache Name (DB)
Define o nome do cache.
N/A
String
Action
Especifica a ação padrão do cache. Opções: Get
, Put
.
N/A
String
Key (DB)
Define a chave usada para identificar os dados no cache. Usado nas ações Get
e Put
.
N/A
String
Raw Mode
Quando ativado, o parâmetro Value será substituído por Body. Usado em ações Put
.
False
Booleano
Body (DB)
Define os dados associados à chave especificada. Esse campo suporta múltiplos valores e é usado em ações Put
.
{ }
JSON
Value (DB)
Define os dados associados à chave especificada. Permite apenas um valor e é usado em ações Put
quando Raw Mode está desativado.
N/A
String
Eviction Type
Determina como o cache remove entradas. Opções: size_based
, time_based
.
size_based
String
Initial Capacity (quando size_based
é selecionado)
Define o tamanho inicial das estruturas de dados internas. Isso não limita o tamanho máximo do cache, mas ajuda a otimizar o desempenho. Se não especificado, a capacidade inicial padrão é 16
. Quando fornecido, o valor especificado substituirá o padrão.
0
Inteiro
Maximum Size (quando size_based
é selecionado)
Define o número máximo de entradas que o cache pode armazenar, medido em quantidade e não em bytes. O cache pode começar a remover entradas antes de atingir esse limite ou ultrapassá-lo brevemente durante a remoção. Definir este valor como 0
desativa o cache, removendo as entradas imediatamente após serem carregadas.
0
Inteiro
Expire After Access Time (s) (quando time_based
é selecionado)
Define o tempo de expiração após os dados serem acessados, em segundos.
300
Inteiro
Expire After Write Time (s) (quando time_based
é selecionado)
Define o tempo de expiração após os dados serem gravados, em segundos.
300
Inteiro
Fail On Error
Se a opção for ativada, a execução do pipeline com erro será interrompida. Caso contrário, a execução do pipeline continua, mas o resultado mostrará um valor falso para a propriedade "success"
.
False
Booleano
Aba Optional
Create Cache If Not Exist
Cria automaticamente um novo Caffeine cache se nenhum for configurado ou encontrado no registro. Quando desativado, tentar acessar um cache inexistente resultará em um erro.
True
Booleano
Do not display the result
Quando ativado, não indica se a ação teve um resultado. Isso é mais útil para operações de Get
.
True
Booleano
Not showing success
Quando ativado, não indica se a ação foi bem-sucedida. Isso é mais útil para operações de Put
.
True
Booleano
Aba Documentation
Documentation
Seção para documentar qualquer informação necessária sobre a configuração do conector e regras de negócio.
N/A
String
Exemplo de uso
Neste exemplo, usamos dois conectores Caffeine Cache no fluxo: um no início com a ação Put
e outro no final do fluxo com a ação Get
.
O primeiro Caffeine Cache armazena dados no cache para uso posterior. Aqui está a configuração:
Cache Name:
digibee
Action:
Put
Key:
token
Raw Mode:
Disabled
Value:
digibee_cache
Eviction Type:
size_based
Initial Capacity:
10
Maximum Size:
999
Ao executar apenas este conector, a saída abaixo confirma que os dados foram armazenados com sucesso no cache:
No final do fluxo, recuperamos os dados armazenados usando outro conector Caffeine Cache, agora configurado da seguinte forma:
Cache Name:
digibee
Action:
Get
Key:
token
Ao executar o fluxo completo, recebemos a seguinte saída, confirmando a recuperação dos dados armazenados no cache:
Atualizado
Isto foi útil?