0

アイテムテーブル情報をキャッシュしているehcacheを使用しています

例:アイテムテーブル
アイテム ID : 101
品番:PX_1001
価格: 10

注:最初のデータベース呼び出しでは、アイテム情報がキャッシュにキャッシュされますが、データベースでこのアイテムの価格を更新しようとすると、価格がキャッシュに反映されません。
誰かがすでにキャッシュにある DB の行を更新する場合、キャッシュで同時に更新するか、データベースから更新された値を取得する必要がある場合、これをどのようにアーカイブできますか?

4

1 に答える 1

0

これは古典的な無効化問題です。アプリケーションが更新を実行している場合は、キャッシュ エントリも更新されていることを確認してください。

データベースがアプリケーションの外部で更新される場合、キャッシュ エントリを無効化または更新できるようにスキームを考える必要があります。

ビジネス要件に応じて異なる別の方法として、キャッシュ エントリに有効期限 (この場合は Time-to-Live または TTL) を設定する方法があります。これにより、キャッシュの利点を引き続き享受しながら、最終的にキャッシュ内の更新された値を取得できます。マッピングの有効期限が切れます。

于 2016-07-12T20:35:37.893 に答える