萌えハッカーニュースリーダー

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

出典: https://github.com/barddoo/zedis
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

…しまった、バレたか!

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

Search