13 ポイント 投稿者 xguru 2024-11-15 | 1件のコメント | WhatsAppで共有

さまざまなプロジェクトで利用できるキャッシュソリューションのパッケージ

  • cacheable : 次世代のキャッシュフレームワーク。レイヤー1 / レイヤー2キャッシュをゼロから設計して構築。分散キャッシュとスケーラビリティに強み
  • cache-manager : NestJSのようなサービスで使用され、wrap などの強力な機能を提供。さまざまなアプリケーションで広く利用
  • cacheable-request : ネイティブHTTPリクエストにキャッシュ機能を追加。RFC準拠キャッシュをサポート。ネットワークリクエストへ簡単にキャッシュを適用可能
  • flat-cache : ファイルストレージ永続性を備えた高速メモリキャッシュ。メモリへ高速にアクセスしつつ、キャッシュデータをファイルに保存可能
  • file-entry-cache : ファイルメタデータ向けの軽量キャッシュ。特定のファイルセットを処理するプロセスに適しており、前回実行以降に変更されたファイルだけを再処理
  • @cacheable/node-cache : node-cacheの代替パッケージ

Cacheable

  • 分散キャッシュに重点を置いた高性能なレイヤー1 / レイヤー2キャッシュエンジン
  • CacheSyncのようなエンタープライズ機能をサポート予定
  • Keyvストレージエンジンを基盤として堅牢なパフォーマンスを提供
  • シンプルなAPIでデータをキャッシュおよび取得する機能
  • 主な特徴
    • シンプルで直感的なAPIを提供
    • 不要なモジュールなしの軽量な構造
    • Keyvによる信頼性が高くスケーラブルなストレージエンジンを使用
    • LRU(Least Recently Used)および有効期限付きキャッシュをサポートするメモリキャッシュ
    • エラー復旧とオフライン対応により障害に強い構造
    • 同期関数および非同期関数に対する Wrap / メモ化をサポート
    • 機能を拡張できるHooksおよびイベント処理をサポート
    • TTL(有効期限)設定をミリ秒単位で簡単に適用 (1分 = 60000ms, 1時間 = 3600000ms, 1日 = 86400000ms)
    • ノンブロッキング(non-blocking)なレイヤー2キャッシュ操作をサポート
    • Pub/Subベースの分散キャッシュ同期 (近日公開予定)
    • 包括的なテストとコードカバレッジ
    • ESMおよびCommonJSをサポートし、Typescriptと互換

1件のコメント

 
sunrabbit 2024-11-18

要するに、パッケージ内部で primarysecondary にレイヤーを分けて、Keyv に保存する方式ですね。
古典的な意味でのレイヤー 1 / レイヤー 2 キャッシュを期待していた方は、戻るボタンを押したほうがよいです。