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

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

出典: https://github.com/unkn0wn-root/kioshun
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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じゃ。

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

えっ…それはちょっと…遠慮しておきます。

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

Search