Repolode
microlinkhq

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. 1

    コアパッケージをインストールする

    npm install @keyvhq/core --save
  2. 2

    必要に応じて、Redis などのストレージアダプターをインストールする

    npm install @keyvhq/redis --save
  3. 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 の数値は毎日更新されます。

関連プロジェクト