Repolode
dragonflydb

dragonflydb/dragonfly

RedisとMemcachedのAPI互換性を備え、両方のドロップイン置き換えを目指すインメモリデータストア。

代替できる製品:Redis

スター
31,798
フォーク
1,283
未解決の Issue
276
最終コミット
7 時間前

これは何?

DragonflyはRedisとMemcachedのプロトコルを実装したインメモリデータストアです。そのため、既存のクライアントやアプリケーションはコードを変更せずに接続できます。C++で書かれており、keyspaceをスレッド間で分割するshared-nothingアーキテクチャを採用しています。これにより、通常は単一スレッドに依存するRedisプロセスとは異なり、1つのインスタンスで複数のCPUコアを利用できます。

キャッシュおよびkey-valueのワークロードに対応しており、フラグで有効化できる適応型キャッシュ退避モード、TTLベースの有効期限、バックアップ用のスナップショット機能を備えています。スナップショットはcron式でスケジュールできます。また、Prometheus互換のメトリクスと、メインポートで利用できる組み込みHTTPコンソールを提供しています。信頼できないネットワークに公開する環境では、HTTPコンソールを無効にできます。

READMEには、AWSインスタンス上でRedisおよびMemcachedと比較したベンチマークが掲載されており、スループットとレイテンシの数値はインスタンスのサイズやワークロードによって異なります。これらの数値はプロジェクト独自のテストによるものなので、実際のワークロードで検証するのが最適です。

主な機能

  • 01RedisおよびMemcachedのプロトコルと互換性があり、既存のクライアントをコード変更なしで利用できます。
  • 02キーをスレッド間で分割するマルチスレッド設計により、複数のCPUコアを活用できます。
  • 03メモリ上限に近づくとアイテムを退避する、適応型キャッシュ退避モードを備えています。
  • 04cron構文によるスナップショットのスケジュール設定と、Prometheus互換のメトリクスに対応しています。
  • 05メインポートで利用できる組み込みHTTPコンソールを備えており、無効化も可能です。

ユースケース

  • 単一スレッドのCPU性能がボトルネックになったRedis環境の置き換え。
  • RedisまたはMemcachedクライアントを使うデータベースの前段にキャッシュ層として配置。
  • 多数のコアを持つ大規模なクラウドインスタンスでのkey-valueストア運用。
  • 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^28 msを超える有効期限は最も近い秒単位に丸められるため、すべての用途に適するとは限りません。

トピック

よくある質問

dragonfly とは?
RedisとMemcachedのAPI互換性を備え、両方のドロップイン置き換えを目指すインメモリデータストア。 DragonflyはRedisとMemcachedのプロトコルを実装したインメモリデータストアです。そのため、既存のクライアントやアプリケーションはコードを変更せずに接続できます。C++で書かれており、keyspaceをスレッド間で分割するshared-nothingアーキテクチャを採用しています。これにより、通常は単一スレッドに依存するRedisプロセスとは異なり、1つのインスタンスで複数のCPUコアを利用できます。
dragonfly は無料で使えますか?ライセンスは?
dragonfly は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
dragonfly は今もメンテナンスされていますか?
活発にメンテナンス中。dragonfly の最終コミットは 2026年10月19日 です。
dragonfly は何に使えますか?
単一スレッドのCPU性能がボトルネックになったRedis環境の置き換え。 RedisまたはMemcachedクライアントを使うデータベースの前段にキャッシュ層として配置。 多数のコアを持つ大規模なクラウドインスタンスでのkey-valueストア運用。 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 の数値は毎日更新されます。

関連プロジェクト