캐시, 데이터 구조 서버, 문서 저장소, 벡터 데이터베이스, 메시지 브로커로 사용되는 인메모리 데이터 저장소입니다.
- 스타
- 2,524
- 포크
- 76
- 열린 이슈
- 18
- 마지막 커밋
- 3개월 전
어떤 프로젝트인가요?
Pogocache는 요청당 지연 시간과 CPU 사용량을 낮추는 데 중점을 둔 캐싱 서버입니다. Memcache, Valkey/Redis( RESP ), HTTP, Postgres 등 여러 와이어 프로토콜로 클라이언트 연결을 받으므로 curl, redis-cli, psql, 일반적인 클라이언트 라이브러리를 수정 없이 사용할 수 있습니다.
임베드 방식으로도 실행할 수 있습니다. 자체 완결형 파일인 pogocache.c를 C 프로그램에 직접 컴파일하면 네트워크를 거치지 않고 애플리케이션에서 캐시 함수를 호출할 수 있습니다. 서버 기능으로는 별도 포트의 TLS, 비밀번호 인증, 퇴거 기능이 포함된 메모리 한도 설정, 선택적 파일 영속성, 샤드별 잠금을 사용하는 샤딩 해시맵이 있습니다.
이 프로젝트는 64비트 Linux와 macOS를 대상으로 하며 C로 작성되었습니다. README에는 단일 AWS 인스턴스 유형에서 Redis, Valkey, Dragonfly, Garnet, Memcache와 성능을 비교한 벤치마크 표가 있습니다. 수치는 작성자 자신의 테스트 환경에서 측정한 결과입니다.
핵심 기능
- 01하나의 서버에서 Memcache, RESP(Valkey/Redis), HTTP, Postgres 와이어 프로토콜을 지원합니다.
- 02단일 파일로 C 프로그램에 컴파일해 프로세스 내 캐싱에 사용할 수 있습니다.
- 03TLS, 비밀번호 인증, 퇴거 기능을 포함한 maxmemory 설정을 지원합니다.
- 04선택적 파일 영속성과 TTL을 이용한 키 만료를 제공합니다.
- 05샤드별 스핀락을 사용하는 샤딩 해시맵과 epoll/kqueue 이벤트 루프를 사용합니다.
활용 사례
- 클라이언트 코드를 변경하지 않고 지연 시간에 민감한 서비스에서 Redis 또는 Memcache 인스턴스를 대체할 수 있습니다.
- 빠른 키-값 캐시를 C 또는 C++ 애플리케이션에 직접 임베드할 수 있습니다.
- 개발 중 curl이나 psql로 캐시 값을 빠르게 조회하고 설정할 수 있습니다.
빠른 시작
- 1
소스 코드에서 pogocache 프로그램을 빌드합니다
make - 2
localhost의 9401 포트에서 서버를 시작합니다
./pogocache - 3
curl로 연결해 값을 저장하고 읽습니다
curl -X PUT -d "my value" http://localhost:9401/mykey
사용 전 알아둘 점
- 64비트 Linux 및 macOS에서만 사용하도록 설계되고 테스트되었습니다.
- README에는 Windows 지원 여부가 문서화되어 있지 않습니다.
토픽
자주 묻는 질문
- pogocache은(는) 무엇인가요?
- Memcache, Redis/Valkey, HTTP, Postgres 프로토콜을 지원하고 단일 C 파일로 임베드할 수 있는 저지연 C 캐싱 서버입니다. Pogocache는 요청당 지연 시간과 CPU 사용량을 낮추는 데 중점을 둔 캐싱 서버입니다. Memcache, Valkey/Redis( RESP ), HTTP, Postgres 등 여러 와이어 프로토콜로 클라이언트 연결을 받으므로 curl, redis-cli, psql, 일반적인 클라이언트 라이브러리를 수정 없이 사용할 수 있습니다.
- pogocache은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- pogocache은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- pogocache은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. pogocache의 마지막 커밋은 2026년 8월 5일입니다.
- pogocache은(는) 어디에 사용할 수 있나요?
- 클라이언트 코드를 변경하지 않고 지연 시간에 민감한 서비스에서 Redis 또는 Memcache 인스턴스를 대체할 수 있습니다. 빠른 키-값 캐시를 C 또는 C++ 애플리케이션에 직접 임베드할 수 있습니다. 개발 중 curl이나 psql로 캐시 값을 빠르게 조회하고 설정할 수 있습니다.
- pogocache는 어떻게 설치하나요?
- 소스 코드에서 pogocache 프로그램을 빌드합니다: make localhost의 9401 포트에서 서버를 시작합니다: ./pogocache curl로 연결해 값을 저장하고 읽습니다: curl -X PUT -d "my value" http://localhost:9401/mykey
- pogocache은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tidwall/pogocache
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Redis와 Memcached API를 호환하며 두 시스템을 대체해 바로 사용할 수 있도록 설계된 인메모리 데이터 저장소입니다.
Raft 합의와 gRPC API를 기반으로 분산 시스템의 핵심 데이터를 저장하는 분산형 고신뢰 키-값 저장소입니다.
희소 행렬로 인접 관계를 저장하고 OpenCypher로 질의하는 그래프 데이터베이스로, LLM 및 GraphRAG 워크로드용 지식 그래프를 겨냥합니다.
React, Vue, Svelte, Solid 바인딩을 제공하는 웹 앱용 비동기 상태 관리 및 데이터 페칭 라이브러리입니다.
Python용 분산 작업 큐로, 백그라운드 작업을 실행하고 워커와 메시지 브로커에 작업을 분배합니다.