RedisとMemcachedのAPI互換性を備え、両方のドロップイン置き換えを目指すインメモリデータストア。
microlinkhq/keyvhq
TTLによる有効期限と、Redis、MongoDB、SQLite、PostgreSQLなどのバックエンドを利用できるNode.js向けキーバリューストレージライブラリ。
- スター
- 446
- フォーク
- 20
- 未解決の Issue
- 0
- 最終コミット
- 2 か月前
これは何?
Keyvは、キーと値のペアを有効期限(TTL)付きで保存できる小さなNode.jsライブラリです。デフォルトではインメモリのMapにデータを保持しますが、ストレージアダプターを切り替えれば、Redis、MongoDB、MySQL、PostgreSQL、SQLiteなどのデータベースやファイルに永続化できます。Map APIを実装したオブジェクトなら、どれでもストアとして利用できます。
APIはPromiseベースで、set、get、has、delete、clearを備えています。namespaceを使えば、複数のインスタンスで1つのデータベースを共有しながら、キーの衝突や互いのデータの削除を避けられます。あらゆるJSON型とBuffer値をシリアライズできるほか、ほかのデータ型向けにserializeとdeserializeのペアをカスタム指定できます。データベースエラーも処理されるため、ストアに障害が起きてもアプリケーションがクラッシュしません。
さらに、圧縮、最大サイズ制限、メモ化、複数ストアの連結、メトリクス収集などのデコレーターも提供しています。ほかのモジュールからcacheオプションを受け取り、それをKeyvに渡しやすい設計です。
主な機能
- 01デフォルトではデータをメモリに保存し、多数のデータベースアダプターを利用できます。
- 02キーごとおよびデフォルトのTTL有効期限を設定できます。
- 03共有バックエンド内のキーをnamespaceで分離し、特定のnamespaceだけをクリアできます。
- 04あらゆるJSON型とBuffer値を標準で扱えます。
- 05カスタムのserialize関数とdeserialize関数を指定できます。
- 06Map APIを実装したオブジェクトなら、どれでもストアとして利用できます。
ユースケース
- Redisなどのデータベースをバックエンドにして、Node.jsアプリケーションにTTLベースのキャッシュを追加する。
- gotの例のように、クライアントライブラリでHTTPレスポンスをキャッシュする。
- カスタムのデータレイヤーを実装せずに、SQLiteやPostgreSQLへキーバリューデータを永続化する。
- ユーザーが独自のストアを指定できる、再利用可能なnpmモジュールにキャッシュ機能を組み込む。
クイックスタート
- 1
コアパッケージをインストールする
npm install @keyvhq/core --save - 2
必要に応じて、Redis などのストレージアダプターをインストールする
npm install @keyvhq/redis --save - 3
Keyv インスタンスを作成し、キーの設定、取得、削除を行う
使う前に知っておきたいこと
- 一部の機能やアダプターは、Redis、MongoDB、PostgreSQL などの外部データベースやサービスに依存しており、これらは自分で起動する必要があります。
トピック
よくある質問
- keyvhq とは?
- TTLによる有効期限と、Redis、MongoDB、SQLite、PostgreSQLなどのバックエンドを利用できるNode.js向けキーバリューストレージライブラリ。 Keyvは、キーと値のペアを有効期限(TTL)付きで保存できる小さなNode.jsライブラリです。デフォルトではインメモリのMapにデータを保持しますが、ストレージアダプターを切り替えれば、Redis、MongoDB、MySQL、PostgreSQL、SQLiteなどのデータベースやファイルに永続化できます。Map APIを実装したオブジェクトなら、どれでもストアとして利用できます。
- keyvhq は無料で使えますか?ライセンスは?
- keyvhq は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- keyvhq は今もメンテナンスされていますか?
- 半年以内に更新あり。keyvhq の最終コミットは 2026年8月27日 です。
- keyvhq は何に使えますか?
- Redisなどのデータベースをバックエンドにして、Node.jsアプリケーションにTTLベースのキャッシュを追加する。 gotの例のように、クライアントライブラリでHTTPレスポンスをキャッシュする。 カスタムのデータレイヤーを実装せずに、SQLiteやPostgreSQLへキーバリューデータを永続化する。 ユーザーが独自のストアを指定できる、再利用可能なnpmモジュールにキャッシュ機能を組み込む。
- keyvhq のインストール方法は?
- コアパッケージをインストールする: npm install @keyvhq/core --save 必要に応じて、Redis などのストレージアダプターをインストールする: npm install @keyvhq/redis --save Keyv インスタンスを作成し、キーの設定、取得、削除を行う
- keyvhq はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/microlinkhq/keyvhq
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
キャッシュやリアルタイム処理向けの、高性能でRedis互換のキーバリューデータ構造サーバー。Redisからフォークされました。
ValkeyとRedis向けのJavaクライアント。分散コレクション、ロック、キュー、サービスを提供します。
Redis、MongoDB、PostgreSQLに対応した、リアルタイムで議論できるNode.js製フォーラムソフトウェア。
純粋なGoで書かれた組み込み可能な永続キーバリューデータベース。ACIDトランザクションに対応し、SSD向けに設計されています。
Hugging FaceのParameter-Efficient Fine-Tuning(PEFT)ライブラリ。少数の追加パラメータだけを学習し、大規模な事前学習済みモデルを適応させます。