Almacén de datos en memoria que se usa como caché, servidor de estructuras de datos, almacén de documentos, base de datos vectorial y agente de mensajería.
- Estrellas
- 2,524
- Forks
- 76
- Issues abiertos
- 18
- Último commit
- hace 3 meses
¿Qué es?
Pogocache es un servidor de caché centrado en ofrecer baja latencia y un uso reducido de CPU por solicitud. Acepta conexiones de clientes mediante varios protocolos de red, como Memcache, Valkey/Redis (RESP), HTTP y Postgres, por lo que herramientas existentes como curl, redis-cli, psql y bibliotecas cliente comunes pueden conectarse sin cambios.
También puede ejecutarse integrado en una aplicación. El archivo autocontenido pogocache.c se puede compilar directamente en un programa C, lo que permite que la aplicación invoque las funciones de caché sin pasar por la red. Entre las funciones del servidor se incluyen TLS en un puerto independiente, autenticación con contraseña, límites de memoria configurables con expulsión de elementos, persistencia opcional en un archivo y hashmaps fragmentados con bloqueo por fragmento.
El proyecto está pensado para Linux y macOS de 64 bits, y está escrito en C. Su README incluye tablas de benchmarks que lo comparan con Redis, Valkey, Dragonfly, Garnet y Memcache en un único tipo de instancia de AWS; esas cifras proceden del entorno de pruebas del propio autor.
Funciones clave
- 01Acepta los protocolos de red Memcache, RESP (Valkey/Redis), HTTP y Postgres en un mismo servidor.
- 02Se puede compilar en un programa C como un único archivo para ofrecer caché dentro del proceso.
- 03Admite TLS, autenticación con contraseña y maxmemory configurable con expulsión de elementos.
- 04Ofrece persistencia opcional en un archivo y expiración de claves mediante TTL.
- 05Usa un hashmap fragmentado con spinlocks por fragmento y bucles de eventos con epoll/kqueue.
Casos de uso
- Reemplazar una instancia de Redis o Memcache en un servicio sensible a la latencia sin cambiar el código cliente.
- Integrar una caché key-value rápida directamente en una aplicación C o C++.
- Usar curl o psql como forma rápida de consultar y establecer valores en la caché durante el desarrollo.
Inicio rápido
- 1
Compila el programa pogocache desde el código fuente
make - 2
Inicia el servidor en el puerto 9401 de localhost
./pogocache - 3
Conéctate con curl para guardar y leer un valor
curl -X PUT -d "my value" http://localhost:9401/mykey
Antes de usarlo
- Está diseñado y probado únicamente para Linux de 64 bits y macOS.
- El README no documenta la compatibilidad con Windows.
Temas
Preguntas frecuentes
- ¿Qué es pogocache?
- Servidor de caché de baja latencia escrito en C, compatible con los protocolos Memcache, Redis/Valkey, HTTP y Postgres, que también puede integrarse como un único archivo C. Pogocache es un servidor de caché centrado en ofrecer baja latencia y un uso reducido de CPU por solicitud. Acepta conexiones de clientes mediante varios protocolos de red, como Memcache, Valkey/Redis (RESP), HTTP y Postgres, por lo que herramientas existentes como curl, redis-cli, psql y bibliotecas cliente comunes pueden conectarse sin cambios.
- ¿pogocache es gratuito? ¿Qué licencia tiene?
- pogocache es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿pogocache sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de pogocache fue el 5 ago 2026.
- ¿Para qué puedo usar pogocache?
- Reemplazar una instancia de Redis o Memcache en un servicio sensible a la latencia sin cambiar el código cliente. Integrar una caché key-value rápida directamente en una aplicación C o C++. Usar curl o psql como forma rápida de consultar y establecer valores en la caché durante el desarrollo.
- ¿Cómo se instala pogocache?
- Compila el programa pogocache desde el código fuente: make Inicia el servidor en el puerto 9401 de localhost: ./pogocache Conéctate con curl para guardar y leer un valor: curl -X PUT -d "my value" http://localhost:9401/mykey
- ¿Dónde consigo pogocache?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tidwall/pogocache
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Almacén de datos en memoria compatible con las API de Redis y Memcached, pensado para reemplazar ambos sin cambios.
Almacén distribuido y confiable de clave-valor para los datos más críticos de un sistema distribuido, basado en el consenso Raft y con una API gRPC.
Base de datos de grafos que representa las adyacencias como matrices dispersas y consulta con OpenCypher, orientada a grafos de conocimiento para cargas de trabajo de LLM y GraphRAG.
Servidor de clave-valor en memoria compatible con Redis y Valkey, escrito en Rust, con búsqueda integrada de texto completo y vectores.
Biblioteca de gestión de estado asíncrono y obtención de datos para aplicaciones web, con bindings para React, Vue, Svelte y Solid.