Repolode
tidwall

tidwall/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.

Alternativa open source a:RedisMemcached

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. 1

    Compila el programa pogocache desde el código fuente

    make
  2. 2

    Inicia el servidor en el puerto 9401 de localhost

    ./pogocache
  3. 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