é um interceptor GraphQL intuitivo e simples, que verifica dados em cache, lida com mutações com o PouchDB e envia apenas consultas modificadas ou não armazenadas em cache para o servidor. Os dados retornados são então armazenados em cache para solicitações futuras.
bun install bundl-server
bun install bundl-cache
recupera dados do cache local na velocidade da luz
? Armazenamento na memória: acesso rápido a dados usados com frequência.
? Armazenamento baseado em disco: adequado para conjuntos de dados maiores que não cabem na memória.
? Time-to-Live (TTL): remoção automática de dados antigos com base em restrições de tempo ou tamanho.
integra-se perfeitamente com bancos de dados relacionais e baseados em documentos.
? Suporte SQL: Conecte-se facilmente a bancos de dados MySQL, PostgreSQL e SQLite.
? Suporte NoSQL: opções para integração com MongoDB, Redis e outros bancos de dados NoSQL.
? Sincronizando com PouchDB e CouchDB para fornecer acesso offline aos dados
garante
? Carregamento lento: busque apenas os dados necessários, reduzindo o tempo de carregamento inicial.
? Processamento em lote: execute operações em massa para melhorar a eficiência.
? Indexação: Acelere as operações de recuperação de dados com indexação inteligente.
? API RESTful: Fácil integração com outros serviços.
? Validação de dados: Mecanismos robustos de validação para garantir a integridade dos dados.
? Análise em tempo real: acompanhe várias métricas em tempo real.
faz uso do Redis Stack para armazenar dados em cache como objetos JSON; O Redis Stack precisa ser instalado de forma independente. As instruções de instalação podem ser encontradas no site do Redis aqui.
npm install -g bun
bun install bundl-server
Abra uma linha de comando do terminal na pasta do diretório raiz que contém o arquivo do servidor.
Execute os seguintes comandos:
touch .env # will create a new `.env` file if one doesn't exist
echo " QUERY= " [enter your query here] " " >> .env
Por exemplo, se o seu esquema GraphQL for assim:
query samplePokeAPIquery {
pokemon_v2_pokemon_by_pk ( id : ) {
name
id
height
base_experience
weight
pokemon_v2_pokemonsprites {
id
pokemon_id
sprites
}
}
}
Sua entrada QUERY="[...]"
ficará assim:
touch .env // This will create a new ` .env ` file if one doesn ' t exist
echo "QUERY="{ pokemon_v2_pokemon_by_pk(id: ) { name id height base_experience weight pokemon_v2_pokemonsprites { id pokemon_id sprites } } }"" >> .env
funciona melhor com banco de dados estilo GraphQL, LRU Cache, PouchDB e CouchDB.
Para obter informações sobre a implementação do lado do cliente, visite o README do cliente bunDL
Acreditamos no poder do código aberto. Ao contribuir para o bunDL, você não está apenas causando impacto neste projeto, mas também apoiando a comunidade de código aberto mais ampla. Nossa missão com bunDL é criar uma ferramenta acessível, e cada contribuição, grande ou pequena, impulsiona essa visão.
Este projeto, bunDL, é um empreendimento de código aberto. Se você deseja entender a jornada do nosso projeto e como contribuir, visite nosso Repositório Demo
Acelerado pelo OS Labs e desenvolvido por Ken Iwane, Shi Kuang, Brandon Do, Gio Mogi e Andrew Wicker.