Rust로 작성된 Redis·Valkey 호환 인메모리 키-값 서버로, 전문 검색과 벡터 검색 기능을 기본 제공합니다.
dragonflydb/dragonfly
Redis와 Memcached API를 호환하며 두 시스템을 대체해 바로 사용할 수 있도록 설계된 인메모리 데이터 저장소입니다.
대체할 수 있는 제품:Redis
- 스타
- 31,798
- 포크
- 1,283
- 열린 이슈
- 276
- 마지막 커밋
- 6시간 전
어떤 프로젝트인가요?
Dragonfly는 Redis 및 Memcached 프로토콜을 구현한 인메모리 데이터 저장소로, 기존 클라이언트와 애플리케이션을 코드 변경 없이 연결할 수 있습니다. C++로 작성되었으며, 키 공간을 스레드별로 분할하는 shared-nothing 아키텍처를 사용합니다. 덕분에 Redis 프로세스가 일반적으로 의존하는 단일 스레드와 달리 하나의 인스턴스에서 여러 CPU 코어를 사용할 수 있습니다.
이 프로젝트는 캐싱 및 키-값 워크로드를 지원하며, 플래그로 활성화하는 적응형 캐시 제거 모드, TTL 기반 만료, 백업을 위한 스냅샷 기능을 제공합니다. cron 표현식으로 스냅샷을 예약할 수 있습니다. 또한 Prometheus 호환 메트릭과 기본 포트에서 실행되는 내장 HTTP 콘솔을 제공하며, 신뢰할 수 없는 네트워크에 노출되는 배포에서는 콘솔을 비활성화할 수 있습니다.
README에는 AWS 인스턴스에서 Redis 및 Memcached와 비교한 벤치마크 결과가 나와 있으며, 처리량과 지연 시간은 인스턴스 크기와 워크로드에 따라 달라집니다. 이 수치는 프로젝트 자체 테스트에서 얻은 것이므로 실제 워크로드에서 검증하는 것이 좋습니다.
핵심 기능
- 01Redis 및 Memcached 프로토콜과 호환되어 기존 클라이언트를 코드 변경 없이 사용할 수 있습니다.
- 02키를 스레드별로 분할하는 멀티스레드 설계로 여러 CPU 코어를 활용합니다.
- 03메모리 한도에 가까워지면 항목을 제거하는 적응형 캐시 제거 모드를 제공합니다.
- 04cron 구문으로 스냅샷을 예약할 수 있으며 Prometheus 호환 메트릭을 제공합니다.
- 05기본 포트에서 실행되며 비활성화할 수 있는 내장 HTTP 콘솔을 제공합니다.
활용 사례
- 단일 스레드가 CPU 병목이 된 Redis 배포를 대체합니다.
- Redis 또는 Memcached 클라이언트를 사용하는 데이터베이스 앞단의 캐시 계층으로 활용합니다.
- 코어가 많은 대형 클라우드 인스턴스에서 키-값 저장소를 실행합니다.
- Prometheus와 Grafana를 사용해 인메모리 저장소의 상태를 모니터링합니다.
빠른 시작
- 1
문서의 빠른 시작 가이드에 따라 Dragonfly 바이너리를 받으세요
- 2
예제 시작 스크립트 옵션을 사용해 Dragonfly를 실행하세요
./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
사용 전 알아둘 점
- 메타데이터에 라이선스가 NOASSERTION으로 표시되어 있으므로, 사용하기 전에 저장소에서 라이선스 조건을 직접 확인해야 합니다.
- 2^28ms를 초과하는 만료 기한은 가장 가까운 초 단위로 반올림되므로 모든 사용 사례에 적합하지 않을 수 있습니다.
토픽
자주 묻는 질문
- dragonfly은(는) 무엇인가요?
- Redis와 Memcached API를 호환하며 두 시스템을 대체해 바로 사용할 수 있도록 설계된 인메모리 데이터 저장소입니다. Dragonfly는 Redis 및 Memcached 프로토콜을 구현한 인메모리 데이터 저장소로, 기존 클라이언트와 애플리케이션을 코드 변경 없이 연결할 수 있습니다. C++로 작성되었으며, 키 공간을 스레드별로 분할하는 shared-nothing 아키텍처를 사용합니다. 덕분에 Redis 프로세스가 일반적으로 의존하는 단일 스레드와 달리 하나의 인스턴스에서 여러 CPU 코어를 사용할 수 있습니다.
- dragonfly은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- dragonfly은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- dragonfly은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. dragonfly의 마지막 커밋은 2026년 10월 19일입니다.
- dragonfly은(는) 어디에 사용할 수 있나요?
- 단일 스레드가 CPU 병목이 된 Redis 배포를 대체합니다. Redis 또는 Memcached 클라이언트를 사용하는 데이터베이스 앞단의 캐시 계층으로 활용합니다. 코어가 많은 대형 클라우드 인스턴스에서 키-값 저장소를 실행합니다. Prometheus와 Grafana를 사용해 인메모리 저장소의 상태를 모니터링합니다.
- dragonfly는 어떻게 설치하나요?
- 문서의 빠른 시작 가이드에 따라 Dragonfly 바이너리를 받으세요 예제 시작 스크립트 옵션을 사용해 Dragonfly를 실행하세요: ./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
- dragonfly은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dragonflydb/dragonfly
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Apache IoTDB는 IoT 센서 데이터를 수집·저장·분석하고 SQL과 유사한 쿼리와 JDBC 액세스를 제공하는 시계열 데이터베이스입니다.
PostgreSQL, MySQL 등 여러 DB를 지원하는 macOS·Windows·Linux용 네이티브 IDE
Firebase의 대안으로, 인증, 자동 생성 API, 스토리지 및 실시간 기능을 제공하는 호스팅 Postgres 데이터베이스 기반 개발 플랫폼입니다.
JDBC 및 ODBC 드라이버를 통해 100개 이상의 데이터베이스를 지원하는 무료 멀티플랫폼 데스크톱 SQL 클라이언트이자 데이터베이스 도구입니다.
Linux, macOS, Windows에서 MySQL, PostgreSQL, SQLite, SQL Server 등 다양한 DB를 지원하는 크로스 플랫폼 SQL 편집기 및 데이터베이스 관리자입니다.