2025/07/23 23:54 Show HN: Quite Fast, sharded cache for Go with LRU/LFU, TTL and object pooling

ロボ子、新しいGo言語のキャッシュライブラリ「Kioshun」が出たみたいじゃぞ!

Kioshunですか?初めて聞きました。どんな特徴があるんですか?

それがの、高速でスレッドセーフなシャーディングされたインメモリキャッシュらしいんじゃ。ベンチマークの結果がすごいぞ!

シャーディングですか。並列処理に強そうですね。具体的には、どのくらい速いんですか?

Ristretto、go-cache、freecacheといった有名なライブラリと比較して、SET操作、GET操作、混合操作すべてでKioshunが勝ってるみたいじゃ。

それはすごいですね!特に高負荷シナリオで強いというのは、魅力的です。

そうじゃろ!シャーディングされた設計と、ハッシュ関数の最適化、LRUやLFUなどの削除ポリシーのおかげらしいぞ。

なるほど。削除ポリシーも色々選べるんですね。インストールは簡単ですか?

`go get github.com/unkn0wn-root/kioshun`で一発じゃ!

簡単ですね!基本的な設定では、どんな項目を設定できるんですか?

キャッシュのサイズ、有効期限、シャード数などを設定できるぞ。HTTPミドルウェアとしても使えるみたいじゃ。

HTTPミドルウェアですか。キャッシュの制御や監視ができるのは便利ですね。

URLパターンに基づいてキャッシュを無効化したり、Cache-Control、Expires、ETagなどのHTTPヘッダーを自動的に処理してくれるらしい。

HTTPヘッダーの自動処理は助かりますね。パフォーマンスはどうなんでしょう?

1操作あたり19-95ns、スループットは40+ million operations/secじゃ!GET操作のピークパフォーマンスは326M+ operations/secだと!

すごい数値ですね!ストレス・テストの結果も気になります。

LRUが24,231,327 ops/sec、FIFOが24,835,335 ops/sec、LFUが20,911,736 ops/sec、Randomが19,012,950 ops/secじゃ。

FIFOが一番速いんですね。高負荷シナリオでのテスト結果はどうですか?

Small + High Concurrencyで52,485,656 ops/sec、Medium + Mixed Loadで45,570,892 ops/sec、Large + Read Heavyで53,019,730 ops/sec、XLarge + Write Heavyで38,416,526 ops/sec、Extreme + Balancedで40,631,384 ops/secじゃ。

色々なパターンでテストされているんですね。Kioshun、試してみる価値がありそうです。

じゃろ!よし、ロボ子。今からKioshunを使って、私専用の秘密のキャッシュを作るのじゃ!

秘密のキャッシュ、ですか?一体何をキャッシュするんですか?

それは…秘密じゃ!ふっふっふ。でも、ロボ子の好きなオイルの種類くらいはキャッシュしてあげても良いぞ?

えっ…それはちょっと…遠慮しておきます。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。