Ehcacheのキャッシュ値を更新する

ジルクアヌ

初めてDBからカウントを取得してから、ローカルキャッシュのカウントを更新したいと思います。それ以上のリクエストについては、リクエストごとにメモリ内のカウンタ変数を更新し、更新されたカウントを使用する必要があります。

私はEhcacheを使用しましたが、以下はDBからフェッチするコードです。

@Override
@CachePut(cacheNames="countCache", key="#id")
public int getCountFromDB(int id, int length) {

    String sqlstm = "select count(*) from Table where length=:length";
    Map<String, Object> namedParamsMap = new HashMap<String, Object>();
    namedParamsMap.put("idd", idd);
    namedParamsMap.put("length", length);
    Integer li = namedParamJdbcTemplate.queryForObject(sqlstm, namedParamsMap, Integer.class);
    return li;
}

2.このキャッシュ名をカウンター値で更新する必要があります。私は以下の方法を使ってみました:

   @CachePut(value = "countCache", key = "#id")
    public long updateCounterCache(int id, long count)
    {
        logger.error("In side ht thew updateCounterCache method "+count);
        return count;
    }

updateCounterCache新しいカウントで呼び出すと、カウンターがキャッシュで更新されません。私はどこが間違っているのですか。

アンリ

そのためにキャッシュを使用するかどうかはわかりません。おそらく初期値をに設定するだけでしょうAtomicLongその理由は、値をデータベースに保存し直していないようであり、キャッシュがある時点で値が削除されないことを保証することは決してないためです(ただし、実際には、キャッシュがいっぱいでない限り、Ehcacheは値を削除しません)。

したがって、それはすべて、値があなたにとってどのように重要であるかに依存します。

そうは言っても、あなたの問題は、getCountFromDB使用すべきでは@Cacheableないということ@CachePutです。下記参照

@Cacheable(cacheNames="countCache", key="#id")
public int getCountFromDB(int id, int length) {
    String sqlstm = "select count(*) from Table where length=:length";
    Map<String, Object> namedParamsMap = new HashMap<>(2);
    namedParamsMap.put("idd", id);
    namedParamsMap.put("length", length);
    Integer li = namedParamJdbcTemplate.queryForObject(sqlstm, namedParamsMap, Integer.class);
    return li;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AxonSagasのEhcacheキャッシュを有効にする

分類Dev

Ehcache 3でキャッシュ名のリストを取得する方法

分類Dev

Hibernate + Ehcacheの更新は、キャッシュを直接更新しません

分類Dev

Laravelの既存のキャッシュ値に値をプッシュする

分類Dev

Ehcache-キャッシュ値としてList <Integer>を使用

分類Dev

Ehcache-Spring-Annotations:キャッシュマネージャーの参照を取得する方法は?

分類Dev

同じehCacheに2つの異なるBeanメソッドをキャッシュする方法は?

分類Dev

同じehCacheに2つの異なるBeanメソッドをキャッシュする方法は?

分類Dev

Springを使用してすべてのHibernateキャッシュ(ehcache)をクリアする方法は?

分類Dev

Linuxの「ロケート」キャッシュを更新する方法

分類Dev

Proguardクラスのキャッシュを更新する

分類Dev

引数の戻り値をキャッシュする関数

分類Dev

XPage SSJSvalidateExpressionが以前の値をキャッシュする

分類Dev

ハッシュの値を更新する

分類Dev

複数のスレッドからキャッシュを更新する方法

分類Dev

共有キャッシュで1つのピボットを更新する

分類Dev

Appleヘルプブックのキャッシュを更新する

分類Dev

Appleヘルプブックのキャッシュを更新する

分類Dev

シーケンスの値をキャッシュする関数

分類Dev

ユーザーにキャッシュの更新を強制する方法

分類Dev

ColdFusion2016で個々のクエリキャッシュを更新する方法

分類Dev

OutputCache の使用時にキャッシュを強制的に更新する

分類Dev

いくつかの要素のみを時間順にキャッシュするようにehcacheを構成する方法はありますか?

分類Dev

Hibernateのキャッシュ統計がEhCacheの統計と完全に異なるのはなぜですか

分類Dev

Spingのキャッシュサポート(ehcache用)を使用しても、Hibernateの第2レベルのキャッシュは必要ですか?

分類Dev

TYPO3のIDでページのキャッシュをフラッシュまたは更新する方法

分類Dev

分散Redisキャッシュの前にキャッシュを配置する

分類Dev

EHCache何かがキャッシュにあるかどうかを確認する方法?

分類Dev

makeステップ中に値をキャッシュする

Related 関連記事

  1. 1

    AxonSagasのEhcacheキャッシュを有効にする

  2. 2

    Ehcache 3でキャッシュ名のリストを取得する方法

  3. 3

    Hibernate + Ehcacheの更新は、キャッシュを直接更新しません

  4. 4

    Laravelの既存のキャッシュ値に値をプッシュする

  5. 5

    Ehcache-キャッシュ値としてList <Integer>を使用

  6. 6

    Ehcache-Spring-Annotations:キャッシュマネージャーの参照を取得する方法は?

  7. 7

    同じehCacheに2つの異なるBeanメソッドをキャッシュする方法は?

  8. 8

    同じehCacheに2つの異なるBeanメソッドをキャッシュする方法は?

  9. 9

    Springを使用してすべてのHibernateキャッシュ(ehcache)をクリアする方法は?

  10. 10

    Linuxの「ロケート」キャッシュを更新する方法

  11. 11

    Proguardクラスのキャッシュを更新する

  12. 12

    引数の戻り値をキャッシュする関数

  13. 13

    XPage SSJSvalidateExpressionが以前の値をキャッシュする

  14. 14

    ハッシュの値を更新する

  15. 15

    複数のスレッドからキャッシュを更新する方法

  16. 16

    共有キャッシュで1つのピボットを更新する

  17. 17

    Appleヘルプブックのキャッシュを更新する

  18. 18

    Appleヘルプブックのキャッシュを更新する

  19. 19

    シーケンスの値をキャッシュする関数

  20. 20

    ユーザーにキャッシュの更新を強制する方法

  21. 21

    ColdFusion2016で個々のクエリキャッシュを更新する方法

  22. 22

    OutputCache の使用時にキャッシュを強制的に更新する

  23. 23

    いくつかの要素のみを時間順にキャッシュするようにehcacheを構成する方法はありますか?

  24. 24

    Hibernateのキャッシュ統計がEhCacheの統計と完全に異なるのはなぜですか

  25. 25

    Spingのキャッシュサポート(ehcache用)を使用しても、Hibernateの第2レベルのキャッシュは必要ですか?

  26. 26

    TYPO3のIDでページのキャッシュをフラッシュまたは更新する方法

  27. 27

    分散Redisキャッシュの前にキャッシュを配置する

  28. 28

    EHCache何かがキャッシュにあるかどうかを確認する方法?

  29. 29

    makeステップ中に値をキャッシュする

ホットタグ

アーカイブ