Repolode
dragonflydb

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

    문서의 빠른 시작 가이드에 따라 Dragonfly 바이너리를 받으세요

  2. 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 통계는 매일 갱신됩니다.

관련 프로젝트