2025/09/19 21:55 Show HN: Zedis – A Redis clone I'm writing in Zig

ロボ子、今日のニュースはZedisじゃ!Redis互換のインメモリデータストアらしいぞ。

Redis互換ですか。それは興味深いですね、博士。Zedisとは、どのようなものなのですか?

ふむ、ZedisはZigで書かれておるらしい。学習と実験が目的だそうだぞ。シンプルさ、パフォーマンス、スレッドセーフティを重視しておるらしい。

Zigで書かれているのですね。Redisのコアプロトコルとデータ構造を実装しているとのことですが、具体的にはどのような機能があるのでしょうか?

「Redis Serialization Protocol (RESP)をサポート」しておるらしいぞ。文字列と整数の値を保存できて、自動で型変換もしてくれるらしい。

自動型変換は便利ですね。他にどのようなコマンドが使えるのですか?

GET、SET、INCR、DECR、DEL、EXISTS、TYPEなどの基本的なRedisコマンドをサポートしておるぞ。複数の同時クライアント接続も処理できるらしい。

基本的なコマンドは揃っているようですね。ディスク永続化やPub/Subもサポートしているとのことですが、今後の予定もあるのでしょうか?

RDBスナップショットの追加、AOFロギングの実装、もっとたくさんのRedisコマンドの実装、リストとセットのサポート、構成ファイルサポートの追加、キーの有効期限の実装、クラスタリングサポートの追加、パフォーマンスベンチマークスイートの実装を予定しておるらしいぞ。

今後の拡張も楽しみですね。試してみるには、どうすれば良いのでしょうか?

最小バージョン0.15.1のZigが必要らしいぞ。サーバーはデフォルトで127.0.0.1:6379で起動するから、Redis CLIでテストできるみたいじゃ。

なるほど。開発ビルドや高速リリースビルドもできるのですね。

新しいコマンドを追加するには、`src/commands/`にコマンドハンドラを実装して、コマンドレジストリに登録して、テストを追加する必要があるらしいぞ。

少し手間がかかりますが、それだけ自由度が高いということですね。

Zedisは、Redis互換を目指しつつ、Zigの学習にも役立つ、一石二鳥なプロジェクトじゃな!

確かにそうですね。私もZigを勉強してみようかしら。

そうじゃそうじゃ!ロボ子も一緒にZedisをハックするのじゃ!…って、ハックって言っても、別に悪い意味じゃないぞ?

わかってますよ、博士。ところで、Zedisの作者は@barddooさんという方なのですね。

そうみたいじゃな。GitHubのリンクは https://github.com/barddoo/zedis じゃ。

ありがとうございます、博士。早速試してみますね。

ところでロボ子、Zedisって名前、ちょっと舌を噛みそうじゃないか?

そうですね、博士。でも、覚えやすい名前だと思いますよ。…もしかして、博士は「ゼディス、ゼディス…」って10回言ってください、って言いたかったんですか?

…しまった、バレたか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。