Um armazenamento de dados em memória usado como cache, servidor de estruturas de dados, repositório de documentos e vetores e broker de mensagens.
- Estrelas
- 2,524
- Forks
- 76
- Issues abertas
- 18
- Último commit
- há 3 meses
O que é?
Pogocache é um servidor de cache focado em baixa latência e baixo uso de CPU por requisição. Ele aceita conexões de clientes por vários protocolos de rede, incluindo Memcache, Valkey/Redis (RESP), HTTP e Postgres, permitindo que ferramentas existentes, como curl, redis-cli, psql e bibliotecas cliente comuns, se conectem sem alterações.
Também pode ser executado integrado à aplicação. O arquivo independente pogocache.c pode ser compilado diretamente em um programa C, permitindo que a aplicação chame as funções de cache sem passar pela rede. Os recursos do servidor incluem TLS em uma porta separada, autenticação por senha, limites de memória configuráveis com eviction, persistência opcional em arquivo e hashmaps sharded com locking por shard.
O projeto é voltado para Linux de 64 bits e macOS, e foi escrito em C. O README inclui tabelas de benchmark que comparam o projeto com Redis, Valkey, Dragonfly, Garnet e Memcache em um único tipo de instância da AWS; esses números vêm da configuração de testes do próprio autor.
Recursos principais
- 01Aceita os protocolos de rede Memcache, RESP (Valkey/Redis), HTTP e Postgres em um único servidor.
- 02Pode ser compilado como um único arquivo em um programa C para cache no próprio processo.
- 03Oferece suporte a TLS, autenticação por senha e maxmemory configurável com eviction.
- 04Oferece persistência opcional em arquivo e expiração de chaves com TTL.
- 05Usa um hashmap sharded com spinlocks por shard e event loops com epoll/kqueue.
Casos de uso
- Substituir uma instância Redis ou Memcache em um serviço sensível à latência, sem alterar o código cliente.
- Integrar um cache key-value rápido diretamente a uma aplicação C ou C++.
- Usar curl ou psql como uma forma rápida de consultar e definir valores no cache durante o desenvolvimento.
Início rápido
- 1
Compile o programa pogocache a partir do código-fonte
make - 2
Inicie o servidor na porta 9401 do localhost
./pogocache - 3
Conecte-se com curl para armazenar e ler um valor
curl -X PUT -d "my value" http://localhost:9401/mykey
Antes de usar
- Foi projetado e testado apenas para Linux de 64 bits e macOS.
- O README não documenta o suporte ao Windows.
Tópicos
Perguntas frequentes
- O que é pogocache?
- Servidor de cache de baixa latência escrito em C, compatível com os protocolos Memcache, Redis/Valkey, HTTP e Postgres, e que pode ser integrado como um único arquivo C. Pogocache é um servidor de cache focado em baixa latência e baixo uso de CPU por requisição. Ele aceita conexões de clientes por vários protocolos de rede, incluindo Memcache, Valkey/Redis (RESP), HTTP e Postgres, permitindo que ferramentas existentes, como curl, redis-cli, psql e bibliotecas cliente comuns, se conectem sem alterações.
- pogocache é gratuito? Qual é a licença?
- pogocache é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pogocache ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de pogocache foi em 5 de ago. de 2026.
- Para que posso usar pogocache?
- Substituir uma instância Redis ou Memcache em um serviço sensível à latência, sem alterar o código cliente. Integrar um cache key-value rápido diretamente a uma aplicação C ou C++. Usar curl ou psql como uma forma rápida de consultar e definir valores no cache durante o desenvolvimento.
- Como instalar pogocache?
- Compile o programa pogocache a partir do código-fonte: make Inicie o servidor na porta 9401 do localhost: ./pogocache Conecte-se com curl para armazenar e ler um valor: curl -X PUT -d "my value" http://localhost:9401/mykey
- Onde consigo pogocache?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tidwall/pogocache
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um armazenamento de dados em memória compatível com as APIs do Redis e do Memcached, criado para substituir ambos sem mudanças nas aplicações.
Armazenamento distribuído e confiável de chave-valor para os dados mais críticos de sistemas distribuídos, baseado no consenso Raft e com API gRPC.
Banco de dados de grafos que armazena adjacências como matrizes esparsas e consulta com OpenCypher, voltado a grafos de conhecimento para cargas de trabalho de LLM e GraphRAG.
Servidor de chave-valor em memória compatível com Redis e Valkey, escrito em Rust, com busca integrada de texto completo e vetorial.
Biblioteca de gerenciamento de estado assíncrono e busca de dados para apps web, com integrações para React, Vue, Svelte e Solid.