第2章 ローカルキャッシュ


Data Grid はクラスターモードで特に興味深いものですが、非常に有能なローカルモードも提供します。このモードでは、ConcurrentHashMap と同様の単純なインメモリーデータキャッシュとして機能します。

ただし、マップではなくローカルキャッシュを使用するのはなぜでしょうか。キャッシュは、単純なマップよりも多くの機能を提供します。これには、永続ストアへのライトスルーおよびライトビハインド、エントリーのエビクション、メモリー不足や有効期限の発生を防ぐことができます。

Data Grid の Cache インターフェイスは、JDK の ConcurrentMap を 拡張し、マップから DataGrid への移行を簡単にします。

Data Grid キャッシュは、既存のトランザクションマネージャーと統合するか、別のトランザクションマネージャーを実行するトランザクションもサポートします。ローカルキャッシュトランザクションには、2 つの選択肢があります。

  1. ロックのタイミング。悲観的ロックは、書き込み操作時、またはユーザーが AdvancedCache.lock(keys) を明示的に呼び出したときにキーをロックします。楽観的ロックは、トランザクションのコミット中にのみキーをロックし、代わりに、現在のトランザクションがキーを読み取った後に別のトランザクションが同じキーを変更した場合は、コミット時に WriteSkewCheckException を出力します。
  2. 分離レベルread-committed および repeatable read をサポートします。

2.1. シンプルキャッシュ

従来のローカルキャッシュは、クラスター化されたキャッシュと同じアーキテクチャーを使用します。つまり、インターセプタースタックを使用します。これにより、多くの実装を再利用できます。ただし、高度な機能が不要でパフォーマンスがより重要な場合は、インターセプタースタックを削除して、単純なキャッシュを使用できます。

そのため、どの機能も削除されますか。設定の観点からは、簡単なキャッシュは以下に対応していません。

  • トランザクションと呼び出しバッチ処理
  • 永続性 (キャッシュストアおよびローダー)
  • カスタムインターセプター (インターセプタースタックなし)
  • インデックス化
  • トランスコーディング
  • バイナリーとして保存 (ローカルキャッシュに非常に便利です)

API パースペクティブから、これらの機能は例外を出力します。

  • カスタムインターセプターの追加
  • 分散済みエグゼキューターフレームワーク

そして、何が残っていますか。

  • 基本的なマップのような API
  • キャッシュリスナー (ローカルリスナー)
  • 有効期限
  • eviction
  • security
  • JMX アクセス
  • 統計 (ただし、最大のパフォーマンスを得るには、statistics-available=false を使用してこれをオフにすることが推奨されます)

    宣言型設定
    <local-cache name="mySimpleCache" simple-cache="true">
        <!-- Additional cache configuration goes here. -->
    </local-cache>
    プログラムによる設定
    DefaultCacheManager cm = getCacheManager();
    ConfigurationBuilder builder = new ConfigurationBuilder().simpleCache(true);
    cm.defineConfiguration("mySimpleCache", builder.build());
    Cache cache = cm.getCache("mySimpleCache");

サポートされていない機能に対する簡単なキャッシュチェック。たとえばトランザクションを使用するよう設定すると、設定検証によって例外が出力されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.